From: Alan Modra Date: Wed, 1 Jan 2020 07:37:11 +0000 (+1030) Subject: ChangeLog rotation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0b11474080800192797236e30857a42818f5560d;p=binutils-gdb.git ChangeLog rotation --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 003f013b415..43dd3f31db7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3177 +1,6 @@ -2019-12-31 Alan Modra - - * vms-alpha.c (_bfd_vms_slurp_eisd): Don't overflow when checking - offset. Don't overflow when checking rec_size, and do allow - rec_size to the end of the buffer. Ensure eisd->type can be - accessed, not just the first 32 bytes. Don't call - _bfd_vms_save_counted_string with zero length remaining. Fail - on empty string section name. - (_bfd_vms_slurp_egsd): Formatting. Catch more reads past end - of record size. Correct remaining length calculation. Fail - on empty string section name. Consolidate error paths. - -2019-12-30 Alan Modra - - * vms-alpha.c (alpha_vms_free_private): New function, extracted.. - (vms_close_and_cleanup): ..from here. - (alpha_vms_object_p): Call alpha_vms_free_private on failure. - -2019-12-30 Alan Modra - - * coffgen.c (coff_real_object_p): Free malloc'd memory on failure. - -2019-12-30 Alan Modra - - * archive.c (do_slurp_bsd_armap): Use bfd_alloc rather than - bfd_zalloc when memory is all written after the call. - (do_slurp_coff_armap): Likewise. Set bfd_error on ridiculously - large allocations that overflow bfd_size_type. Use just one - bfd_release on error exit. - (_bfd_slurp_extended_name_table): Use bfd_alloc for extended_names, - clear last byte rather than the entire array. Use bfd_alloc for - string table. Rearrange and simplify code copying file names. - -2019-12-29 Alan Modra - - * vms-alpha.c (_bfd_vms_slurp_egsd): Make base_addr a bfd_vma. - Limit alignment power. Correct and simplify alignment expression. - (evax_bfd_print_relocation_records): Avoid signed shift left. - -2019-12-29 Alan Modra - - * vms-misc.c (_bfd_vms_save_sized_string): Add abfd param, make - size a size_t. Use bfd_alloc rather than bfd_malloc. - (_bfd_vms_save_counted_string): Similarly. - * vms.h (_bfd_vms_save_sized_string): Update prototype. - (_bfd_vms_save_counted_string): Likewise. - * vms-alpha.c (_bfd_vms_slurp_ehdr): Adjust - _bfd_vms_save_counted_string and bfd_vms_save_sized_string calls. - (_bfd_vms_slurp_egsd, parse_module): Likewise. - (_bfd_vms_slurp_eisd): Likewise. Check return status. - (alpha_vms_bfd_link_hash_table_free): New function. - (alpha_vms_bfd_link_hash_table_create): Arrange to call it. - (vms_close_and_cleanup): Free more memory. Don't release tdata. - -2019-12-29 Alan Modra - - * coffcode.h (coff_close_and_cleanup): Redefine to.. - * coffgen.c (_bfd_coff_close_and_cleanup): ..this. New function. - * libcoff-in.h (_bfd_coff_close_and_cleanup): Declare. - * libcoff.h: Regenerate. - -2019-12-29 Hannes Domani - Alan Modra - - PR 15350 - * bfd.c (bfd_update_compression_header): Write zlib header for - formats other than ELF too. - -2019-12-26 Alan Modra - - * som.c (setup_sections): Don't overflow space_strings_size. Use - bfd_malloc2 to catch overflow of size calculation. - (som_prep_for_fixups): Use bfd_zalloc2 to catch overflow of size - calculation. - (som_build_and_write_symbol_table): Similarly use bfd_zmalloc2. - (som_slurp_symbol_table): Similarly use bfd_zmalloc2, bfd_malloc2, - and bfd_zalloc2. - (bfd_som_attach_aux_hdr): Use size_t vars for string length. - (som_bfd_count_ar_symbols): Use bfd_malloc2 to catch overflow of - size calculation. Use size_t vars for length and catch overflow. - (som_slurp_armap): Use bfd_alloc2 to catch overflow of size - calculation. - (som_bfd_ar_write_symbol_stuff): Similarly use bfd_zmalloc2 and - bfd_malloc2. Perform size calculations in bfd_size_type. - -2019-12-26 Hannes Domani - - * peicode.h (pe_bfd_read_buildid): Free data. - -2019-12-23 Alan Modra - - * vms-alpha.c (add_symbol): Add "max" parameter. Error on string - length larger than max. - (_bfd_vms_slurp_egsd): Ensure record is at least large enough to - read string length byte, error if not. Pass size to add_symbol. - (_bfd_vms_slurp_etir): Don't read past end of buffer when reading - type and length. Allow read of last byte in buffer. - -2019-12-23 Alan Modra - - * wasm-module.c (wasm_read_leb128): Don't allow oversize shifts. - Catch value overflow. Sign extend only on terminating byte. - -2019-12-20 Alan Modra - - * xtensa-isa.c (xtensa_insnbuf_from_chars): Avoid signed overflow. - -2019-12-20 Alan Modra - - * libhppa.h (hppa_field_adjust, bfd_hppa_insn2fmt): Delete forward - declaration. Move ATTRIBUTE_UNUSED to definition. - (sign_extend, low_sign_extend, sign_unext, low_sign_unext), - (re_assemble_3, re_assemble_12, re_assemble_14, re_assemble_16), - (re_assemble_17, re_assemble_21, re_assemble_22): Likewise. Make - args and return value unsigned. Use unsigned variables. - (hppa_rebuild_insn): Similarly. - -2019-12-20 Alan Modra - - * format.c (bfd_check_format_matches): Free matching_vector when - not returning matching target strings. - -2019-12-20 Alan Modra - - * coff-alpha.c (alpha_ecoff_read_ar_hdr): Free ar_hdr on error return. - -2019-12-18 Alan Modra - - * coff-rs6000.c (_bfd_xcoff_slurp_armap): Don't overflow when - checking symbol count against section size. Guard against strlen - running off end of buffer by allocating one more byte and zeroing. - * coff64-rs6000.c (xcoff64_slurp_armap): Likewise. - -2019-12-18 Alan Modra - - * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Use size_t for vars. - * elf64-ppc.c (sym_exists_at): Use size_t for lo, hi and mid. - -2019-12-18 Alan Modra - - * elf-bfd.h (ELF_LOCAL_SYMBOL_HASH): Avoid signed overflow. - * elf32-hppa.c (final_link_relocate): Likewise. - * elf32-ppc.c (_bfd_elf_ppc_at_tls_transform): Likewise. - (_bfd_elf_ppc_at_tprel_transform, is_insn_ds_form): Likewise. - (is_insn_dq_form, ppc_elf_relocate_section): Likewise. - * elf64-ppc.c (ok_lo_toc_insn, ppc64_elf_edit_toc): Likewise. - (ppc64_elf_relocate_section): Likewise. - * elfxx-mips.c (mips_elf_perform_relocation): Likewise. - * netbsd.h (N_SET_FLAGS): Likewise. - -2019-12-17 Alan Modra - - * coff-tic80.c: Delete file. - * cpu-tic80.c: Delete file. - * archures.c: Remove tic80 support. - * coffcode.h: Likewise. - * coffswap.h: Likewise. - * targets.c: Likewise. - * config.bfd: Likewise. - * configure.ac: Likewise. - * Makefile.am: Likewise. - * Makefile.in: Regenerate. - * bfd-in2.h: Regenerate. - * configure: Regenerate. - * po/SRC-POTFILES.in: Regenerate. - -2019-12-13 Alan Modra - - PR 25237 - * elf.c: (assign_file_positions_for_load_sections): Attempt to - keep meaningless p_offset for PT_LOAD segments without file - contents within file size. - -2019-12-12 Alan Modra - - * libbfd.c (bfd_get): Don't cast result of bfd_get_8. - * bfd-in2.h: Regenerate. - -2019-12-11 Alan Modra - - * elf32-rx.c (elf32_rx_relax_section): Avoid signed overflow. - * libaout.h (N_SET_INFO, N_SET_FLAGS): Likewise. - * netbsd.h (write_object_contents): Likewise. - * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Likewise. - * libhppa.h (HPPA_R_CONSTANT): Don't signed extend with shifts. - (stm32l4xx_create_replacing_stub_vldm): Don't truncate high bits - with shifts. - * elf32-nds32.h (R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG): Define - using 1u shifted left. Ditto for other macros. - * mmo.c (LOP): Make unsigned. - -2019-12-11 Alan Modra - - * libbfd.c (bfd_get_8): Return a bfd_vma. - (bfd_get_signed_8): Return a bfd_signed_vma. - * bfd-in2.h: Regenerate. - -2019-12-11 Alan Modra - - * xtensa-modules.c (Field_* functions): Don't mask using shifts. - (Operand_soffsetx4_decode, Operand_simm4_decode), - (Operand_simm8_decode, Operand_simm8x256_decode), - (Operand_simm12b_decode, Operand_label8_decode), - (Operand_label12_decode, Operand_soffset_decode), - (Operand_xt_wbr15_label_decode, Operand_xt_wbr18_label_decode): Don't - sign extend using shifts. - (Operand_immrx4_decode, Operand_uimm16x4_decode): Avoid UB in - constant. - -2019-12-11 Alan Modra - - * cpu-ia64-opc.c (ext_imms_scaled): Avoid undefined left shift - of negative values by using unsigned vars. - -2019-12-07 Alan Modra - - PR 25236 - * elflink.c (_bfd_elf_link_assign_sym_version): Assign versions - for ELF_COMMON_DEF_P symbols. - (elf_link_output_extsym, _bfd_elf_add_default_symbol): Adjust to - suit. - -2019-12-05 Sandra Loosemore - - Only give FDE encoding warnings if --eh-frame-hdr was specified. - - * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Make - FDE encoding warning conditional. - -2019-12-05 Nick Clifton - - PR 25029 - * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Ignore empty sections - when computing the sizes stored in the headers. - -2019-12-03 Alan Modra - - PR 25230 - * dwarf2.c (struct dwarf2_debug_file): Add line_table and - abbrev_offsets. - (struct abbrev_offset_entry): New. - (hash_abbrev, eq_abbrev, del_abbrev): New functions. - (read_abbrevs): Check whether we have already read abbrevs at - given offset, and add new offset/abbrev to hash table. - (decode_line_info): Keep line table at offset zero in file struct. - Return this for a cu reusing the same dir/file list. - (find_abstract_instance): Find cu for DW_FORM_GNU_ref_alt. - (_bfd_dwarf2_slurp_debug_info): Create offset/abbrev hash tables. - (_bfd_dwarf2_cleanup_debug_info): Adjust deletion of lines and - abbrevs. - -2019-12-03 Alan Modra - - PR 25230 - * dwarf2.c (struct dwarf2_debug_file): New struct. - (struct dwarf2_debug): Delete fields now in dwarf2_debug_file. - Add f, alt fields. - (struct comp_unit): Add file field. - (read_indirect_string, read_indirect_line_string): Adjust to suit. - (read_alt_indirect_string, read_alt_indirect_ref): Likewise. - (read_debug_ranges, find_abstract_instance, read_rangelist): Likewise. - (_bfd_dwarf2_stash_syms, place_sections): Likewise. - (stash_maybe_update_info_hash_tablse): Likewise. - (stash_verify_info_hash_table): Likewise. - (_bfd_dwarf2_slurp_debug_info): Likewise. - (_bfd_dwarf2_find_symbol_bias): Likewise. - (_bfd_dwarf2_find_nearest_line): Likewise. - (_bfd_dwarf2_cleanup_debug_info): Likewise. - (read_abbrevs): Add file param and adjust. Update calls. - (stash_comp_unit): Likewise. - (decode_line_info): Delete stash param and adjust. Update calls. - (comp_unit_find_nearest_line): Likewise. - (comp_unit_maybe_decode_line_info): Likewise. - (comp_unit_find_line): Likewise. - (parse_comp_unit): Add file and info_ptr param and adjust. Update - calls. - -2019-12-03 Alan Modra - - * dwarf2.c (read_indirect_string): Don't duplicate offset check - done in read_section. - (read_indirect_line_string): Likewise. - (read_alt_indirect_string): Likewise. - (read_alt_indirect_ref): Likewise. - (read_abbrevs): Likewise. Free memory on all failure paths. - Use correct unsigned type for pointer difference comparison. - -2019-12-03 Alan Modra - - * dwarf2.c (struct dwarf2_debug): Update comments. Remove sec - and sec_info_ptr. - (_bfd_dwarf2_slurp_debug_info): Don't set sec or sec_info_ptr. - (stash_comp_unit): Likewise. - (read_alt_indirect_ref): Return NULL not FALSE. - -2019-12-03 Alan Modra - - * dwarf2.c (_bfd_dwarf2_find_nearest_line): Correct function comment. - -2019-11-27 Alan Modra - - PR 23652 - * dwarf2.c (_bfd_dwarf2_stash_syms): Break out of loop on finding - matching section. - (_bfd_dwarf2_find_nearest_line): Return an int, with value 2 when - returning info from the symbol table. Do the _bfd_elf_find_function - search also when !found. Call _bfd_dwarf2_stash_syms regardless of - symbols. - * elf64-alpha.c (elf64_alpha_find_nearest_line): Accept dwarf2 - result of 1 only. - * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise. - * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. - * libbfd.h: Regenerate. - -2019-11-27 Alan Modra - - PR 23652 - * dwarf2.c (_bfd_dwarf2_stash_syms): New function. - (_bfd_dwarf2_find_nearest_line): Use it here, passing syms to - _bfd_elf_find_function. Call _bfd_elf_find_function in cases - where _bfd_elf_find_nearest_line would do so. - * elf.c (_bfd_elf_find_nearest_line): Omit _bfd_elf_find_function - for dwarf2. - * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly. Tidy. - * elf32-arm.c (elf32_arm_maybe_function_sym): New function. - (elf_backend_maybe_function_sym): Define. - (arm_elf_find_function, elf32_arm_find_nearest_line): Delete. - (bfd_elf32_find_nearest_line): Don't define. - * elfnn-aarch64.c (elfNN_aarch64_maybe_function_sym): New function. - (elf_backend_maybe_function_sym): Define. - (aarch64_elf_find_function, elfNN_aarch64_find_nearest_line): Delete. - (bfd_elfNN_find_nearest_line): Don't define. - -2019-11-27 Alan Modra - - * elf32-sh.c (sh_reloc): Use a bfd_vma insn. - (sh_reloc ): Divide calculated relocation value - by two before applying to insn. Correct overflow test. - * coff-sh.c (sh_reloc): Likewise. - -2019-11-26 Nick Clifton - - * elf32-sh.c (sh_elf_reloc): Use a signed_vma when checking for a - negative relocated value. - * coff-sh.c (sh_reloc): Likewise. - -2019-11-25 Alan Modra - - * archures.c (bfd_octets_per_byte): Tail call - bfd_arch_mach_octets_per_byte. - * coff-arm.c (OCTETS_PER_BYTE): Define. - (coff_arm_reloc): Introduce new "octets" temp. Use OCTETS_PER_BYTE - with section. Correct "addr". Remove ATTRIBUTE_UNUSED. - * coff-i386.c (coff_i386_reloc): Similarly. - * coff-mips.c (mips_reflo_reloc): Similarly. - * coff-x86_64.c (coff_amd64_reloc): Similarly. - * elf32-msp430.c (OCTETS_PER_BYTE): Define. - (rl78_sym_diff_handler): Use OCTETS_PER_BYTE, with section. - * elf32-nds32.c (nds32_elf_get_relocated_section_contents): Similarly. - * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Similarly. - * elf32-pru.c (pru_elf32_do_ldi32_relocate): Similarly. - * elf32-s12z.c (opru18_reloc): Similarly. - * elf32-sh.c (sh_elf_reloc): Similarly. - * elf32-spu.c (spu_elf_rel9): Similarly. - * elf32-xtensa.c (bfd_elf_xtensa_reloc): Similarly. - * elf64-ppc.c (ppc64_elf_ha_reloc, ppc64_elf_brtaken_reloc), - (ppc64_elf_toc64_reloc): Similarly. - * bfd.c (bfd_get_section_limit): Pass section to bfd_octets_per_byte. - * cofflink.c (_bfd_coff_link_input_bfd), - (_bfd_coff_reloc_link_order): Likewise. - * elf.c (_bfd_elf_section_offset): Likewise. - * elflink.c (resolve_section, bfd_elf_perform_complex_relocation), - (elf_link_input_bfd, elf_reloc_link_order, elf_fixup_link_order), - (bfd_elf_final_link): Likewise. - * elf.c (_bfd_elf_make_section_from_shdr): Don't strncmp twice - to set SEC_ELF_OCTETS. - * reloc.c (bfd_perform_relocation): Tidy SEC_ELF_OCTETS special case. - (bfd_install_relocation): Likewise. - (_bfd_final_link_relocate): Don't recalculate octets. - * syms.c (_bfd_stab_section_find_nearest_line): Introduc new - "octets" temp. - * bfd-in2.h: Regenerate. - -2019-11-25 Christian Eggers - - * section.c (struct bfd_section): New flag SEC_ELF_OCTETS. - * archures.c (bfd_octets_per_byte): New parameter sec. - If section is not NULL and SEC_ELF_OCTETS is set, one octet es - returned [ELF targets only]. - * bfd.c (bfd_get_section_limit): Provide section parameter to - bfd_octets_per_byte. - * bfd-in2.h: regenerate. - * binary.c (binary_set_section_contents): Move call to - bfd_octets_per_byte into section loop. Provide section parameter - to bfd_octets_per_byte. - * coff-arm.c (coff_arm_reloc): Provide section parameter - to bfd_octets_per_byte. - * coff-i386.c (coff_i386_reloc): likewise. - * coff-mips.c (mips_reflo_reloc): likewise. - * coff-x86_64.c (coff_amd64_reloc): likewise. - * cofflink.c (_bfd_coff_link_input_bfd): likewise. - (_bfd_coff_reloc_link_order): likewise. - * elf.c (_bfd_elf_section_offset): likewise. - (_bfd_elf_make_section_from_shdr): likewise. - Set SEC_ELF_OCTETS for sections with names .gnu.build.attributes, - .debug*, .zdebug* and .note.gnu*. - * elf32-msp430.c (rl78_sym_diff_handler): Provide section parameter - to bfd_octets_per_byte. - * elf32-nds.c (nds32_elf_get_relocated_section_contents): likewise. - * elf32-ppc.c (ppc_elf_addr16_ha_reloc): likewise. - * elf32-pru.c (pru_elf32_do_ldi32_relocate): likewise. - * elf32-s12z.c (opru18_reloc): likewise. - * elf32-sh.c (sh_elf_reloc): likewise. - * elf32-spu.c (spu_elf_rel9): likewise. - * elf32-xtensa.c (bfd_elf_xtensa_reloc): likewise - * elf64-ppc.c (ppc64_elf_brtaken_reloc): likewise. - (ppc64_elf_addr16_ha_reloc): likewise. - (ppc64_elf_toc64_reloc): likewise. - * elflink.c (bfd_elf_final_link): likewise. - (bfd_elf_perform_complex_relocation): likewise. - (elf_fixup_link_order): likewise. - (elf_link_input_bfd): likewise. - (elf_link_sort_relocs): likewise. - (elf_reloc_link_order): likewise. - (resolve_section): likewise. - * linker.c (_bfd_generic_reloc_link_order): likewise. - (bfd_generic_define_common_symbol): likewise. - (default_data_link_order): likewise. - (default_indirect_link_order): likewise. - * srec.c (srec_set_section_contents): likewise. - (srec_write_section): likewise. - * syms.c (_bfd_stab_section_find_nearest_line): likewise. - * reloc.c (_bfd_final_link_relocate): likewise. - (bfd_generic_get_relocated_section_contents): likewise. - (bfd_install_relocation): likewise. - For section which have SEC_ELF_OCTETS set, multiply output_base - and output_offset with bfd_octets_per_byte. - (bfd_perform_relocation): likewise. - -2019-11-21 Alan Modra - - * elf32-arm.c (elf32_arm_size_stubs): Exclude dynamic library - BFDs that have not been loaded. - -2019-11-19 Alan Modra - - PR 25197 - * coffgen.c (coff_find_nearest_line_with_names): Check that C_FILE - u.syment.n_value does point at another C_FILE sym and not into - some auxent that happens to look like a C_FILE. Properly check - for integer overflow and avoid possible pointer wrap-around. - Simplify pr17512 checks. - -2019-11-19 Alan Modra - - PR 25200 - * reloc.c (bfd_default_reloc_type_lookup): Don't BFD_FAIL. - * elf.c (_bfd_elf_validate_reloc): Don't segfault on NULL howto. - -2019-11-18 Alan Modra - - * elf-bfd.h (struct elf_backend_data ): - Rename from elf_backend_post_process_headers. - (_bfd_elf_post_process_headers): Delete. - (_bfd_elf_init_file_header): Declare. - * elf.c (_bfd_elf_compute_section_file_positions): Call new function - in place of prep_headers and elf_backend_post_process_headers. - (_bfd_elf_init_file_header): Renamed from prep_headers with - updated args and made global. Delete dead code. - (_bfd_elf_post_process_headers): Delete. - * elf32-arm.c (elf32_arm_init_file_header): Rename from - elf32_arm_post_process_headers and call _bfd_elf_init_file_header. - Return status. - (elf_backend_init_file_header): Define. - (elf_backend_post_process_headers): Don't define. - * elf32-i386.c (elf_i386_fbsd_init_file_header): Similarly. - * elf32-m68hc1x.c (elf32_m68hc11_init_file_header): Similarly. - * elf32-metag.c (elf_metag_init_file_header): Similarly. - * elf32-spu.c (spu_elf_init_file_header - * elf32-visium.c (visium_elf_init_file_header - * elf64-alpha.c (elf64_alpha_fbsd_init_file_header - * elf64-hppa.c (elf64_hppa_init_file_header - * elf64-ia64-vms.c (elf64_vms_init_file_header - * elfnn-aarch64.c (elfNN_aarch64_init_file_header - * elfnn-ia64.c (elfNN_hpux_init_file_header - * elfxx-mips.c (_bfd_mips_init_file_header - * elfxx-mips.h (_bfd_mips_post_process_headers): Delete. - (_bfd_mips_init_file_header): Declare. - (elf_backend_post_process_headers): Delete. - (elf_backend_init_file_header): Define. - * elfxx-target.h (elf_backend_post_process_headers): Delete. - (elf_backend_init_file_header): Define and use. - * elf32-m68hc12.c (elf_backend_init_file_header): Define. - (elf_backend_post_process_headers): Don't define. - * elf32-m68hc1x.h (elf32_m68hc11_post_process_headers): Delete. - (elf32_m68hc11_init_file_header): Declare. - * elf32-ppc.c (elf_backend_post_process_headers): Remove - unnecessary undef. - -2019-11-18 Alan Modra - - * elf-bfd.h (struct elf_backend_data ): - Rename from elf_backend_modify_program_headers. - (_bfd_elf_modify_headers): Declare. - * elf.c (assign_file_positions_except_relocs): Set - elf_program_header_size. Always call elf_backend_modify_headers. - Extract code modifying file header.. - (_bfd_elf_modify_headers): ..to here. New function. - * elf32-arm.c (elf_backend_modify_headers): Renamed from - elf_backend_modify_program_headers. - * elf32-i386.c: Similarly. - * elf64-x86-64.c: Similarly. - * elfxx-target.h: Similarly. Default elf_backend_modify_headers - to _bfd_elf_modify_headers. - * elf-nacl.h (nacl_modify_headers): Rename from - nacl_modify_program_headers. - * elf-nacl.c (nacl_modify_headers): Rename from - nacl_modify_program_headers and call _bfd_elf_modify_headers. - * elf32-rx.c (elf32_rx_modify_headers): Similarly. - * elf32-spu.c (spu_elf_modify_headers): Similarly. - * elfnn-ia64.c (elfNN_ia64_modify_headers): Similarly. - * elf32-sh.c (elf_backend_modify_program_headers): Don't undef. - -2019-11-18 Alan Modra - - PR 25196 - * bfd.c (bfd_error_type): Add bfd_error_sorry. - (bfd_errmsgs): Likewise. - * elf.c (rewrite_elf_program_header): Don't abort on confused - lma/alignment. Replace bfd_error_bad_value with bfd_error_sorry. - (_bfd_elf_validate_reloc): Use bfd_error_sorry. - (_bfd_elf_final_write_processing): Likewise. - * bfd-in2.h: Regenerate. - -2019-11-12 Jim Wilson - - PR 25181 - * elfnn-riscv.c (_bfd_riscv_relax_call): Always add max_alignment to - foff. If sym_sec->output_section and sec->output_section are the same - and not *ABS* then set max_alignment to that section's alignment. - -2019-11-07 Alan Modra - - * cpu-cr16c.c: Delete. - * elf32-cr16c.c: Delete. - * Makefile.am, - * archures.c, - * config.bfd, - * configure.ac, - * reloc.c, - * targets.c: Remove cr16c support. - * Makefile.in, - * bfd-in2.h, - * configure, - * libbfd.h, - * po/SRC-POTFILES.in: Regenerate. - -2019-11-05 Tim Rühsen - - * doc/chew.c (add_to_definition): Use correct type when - calculating size of array reallocation. - (nextword): Always initialise the word return parameter. - (compile): Check return value of nextword(). - -2019-10-30 Keith Seitz - - * elf-bfd.h (elf_backend_data) : - New field. - (_bfd_elf32_core_find_build_id, _bfd_elf64_core_find_build_id): - New functions. - (elf_read_notes): Add declaration. - * elf.c (elf_read_notes): Move elf-bfd.h. - (_bfd_elf_core_find_build_id): New function. - (bfd_section_from_phdr): Scan core file PT_LOAD segments for - build-id if none is known. - (elf_parse_notes): For core files, scan for notes. - * elfcore.h (elf_core_file_matches_executable_p): If both - BFDs have identical build-ids, then they match. - (_bfd_elf_core_find_build_id): New function. - * elfxx-target.h (elf_backend_core_find_build_id): Define. - (elfNN_bed): Add elf_backend_core_find_build_id. - -2019-10-29 Andrew Eikum - - * libcoff-in.h (struct pe_tdata): Add dos_message field. - * libcoff.h: Regenerate. - * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Copy the - dos_message field rather than initialising it. - (_bfd_XX_bfd_copy_private_bfd_data_common): Copy the dos_message - field. - * peicode.h (pe_mkobject): Initialise the dos_message field. - (pe_mkobject_hook): Copy the dos_message field. - (pe_bfd_object_p): Copy the dos_message field. - -2019-10-25 Alan Modra - - PR 4499 - * elf-nacl.c (nacl_modify_segment_map): Set no_sort_lma for all - PT_LOAD segments. - * elf32-spu.c (spu_elf_modify_segment_map): Likewise on overlay - PT_LOAD segments. - * elf.c (elf_sort_segments): New function. - (assign_file_positions_except_relocs): Use shortcuts to elfheader - and elf_tdata. Seek to e_phoff not sizeof_ehdr to write program - headers. Move PT_PHDR check.. - (assign_file_positions_for_non_load_sections): ..and code setting - PT_PHDR p_vaddr and p_paddr, and code setting __ehdr_start value.. - (assign_file_positions_for_load_sections): ..to here. Sort - PT_LOAD headers. Delete header_pad code. Use actual number of - headers rather than allocated in calculating size for program - headers. Don't assume program headers follow ELF file header. - Simplify pt_load_count code. Only set "off" for PT_LOAD or - PT_NOTE in cores. - (rewrite_elf_program_header): Set p_vaddr_offset for segments - that include file and program headers. - (copy_elf_program_header): Likewise, replacing header_size code. - -2019-10-21 Alan Modra - - PR 452 - * archive.c (normalize): Return file unchanged when - BFD_ARCHIVE_FULL_PATH. - (_bfd_construct_extended_name_table): Pass abfd, the output - bfd, to normalize. - (_bfd_archive_bsd44_construct_extended_name_table): Likewise. - * bfd.c (struct bfd): Make flags a full flagword. - (BFD_ARCHIVE_FULL_PATH): Define. - * bfd-in2.h: Regenerate. - -2019-10-20 John David Anglin - - * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Provide 8-byte - minimum alignment for .plt section. - -2019-10-19 John David Anglin - - * elf32-hppa.c: Revise import stub sequences. - (LONG_BRANCH_STUB_SIZE): Define. - (LONG_BRANCH_SHARED_STUB_SIZE): Define. - (IMPORT_STUB_SIZE): Define. - (IMPORT_SHARED_STUB_SIZE): Define. - (EXPORT_STUB_SIZE): Define. - (plt_stub): Revise to not use register %r22. - (LDO_R1_R22): Define. - (LDW_R22_R21): Define. - (LDW_R22_R19): Define. - (hppa_build_one_stub): Update stub generation and use new defines. - (hppa_size_one_stub): Likewise. - -2019-10-17 Nelson Chu - - * elfnn-riscv.c (riscv_elf_relocate_section): Report the error message - that user should recompile their code with `fPIC` when linking non-pic - code into shared library. - - * elfnn-riscv.c (riscv_elf_relocate_section): Use asprintf to extend - the error message if needed, and then store the result into the - `msg_buf`. Finally, remember to free the unused `msg_buf`. All error - message for the dangerous relocation should be set before we call the - callback function. If we miss the error message since linker runs out - of memory, we should set the default error message for the error. - -2019-10-16 Alan Modra - - PR 13616 - * cpu-powerpc.c (bfd_arch_ppc_nop_fill): New function, use it - for all ppc arch info. - * linker.c (default_data_link_order): Pass info->big_endian to - arch_info->fill function. - -2019-10-15 Alan Modra - - * elf32-m68hc1x.c (reloc_warning): Add printf attribute. - (elf32_m68hc11_relocate_section): Don't use a variable for format - strings. Delete some unnecessary xgettext:c-format comments. - -2019-10-15 Alan Modra - - PR 24955 - * elf32-arm.c (set_cmse_veneer_addr_from_implib): Use bfd_malloc - rather than xmalloc. - * elf32-m68hc1x.c (reloc_warning): New function. - (elf32_m68hc11_relocate_section): Use it here. Cast bfd_vma values - corresponding to %lx in format strings. - * elf32-nds32.c (nds32_insertion_sort): Use a stack temporary. - -2019-10-15 Alan Modra - - PR 25100 - * elf64-ppc.c (sfpr_define): Delete dead code that triggered a warning. - -2019-10-15 Alan Modra - - * bfd.c (bfd_check_compression_header): Check for powers of two - with x == (x & -x). - -2019-10-14 Alan Modra - - * syms.c (struct indexentry): Add idx field. - (cmpindexentry): Final sort on idx. - (_bfd_stab_section_find_nearest_line): Set idx. - -2019-10-14 Alan Modra - - * dwarf2.c (struct lookup_funcinfo): Add idx field. - (compare_lookup_funcinfos): Perform final sort on idx. - (build_lookup_funcinfo_table): Set idx. - (compare_sequences): Perform final sort on num_lines. - (build_line_info_table): Set num_lines and line_info_lookup earlier. - (sort_line_sequences): Set num_lines for sort. - -2019-10-14 Alan Modra - - * elflink.c (elf_sort_symbol): Sort on type and name as well. - (elf_link_add_object_symbols): Style fix. - -2019-10-14 Alan Modra - - * elf.c (_bfd_elf_map_sections_to_segments): Init target_index - for sections about to be sorted. - (assign_file_positions_for_load_sections): Likewise. - (elf_sort_sections): Don't bother optimising both TOEND case. - * elflink.c (bfd_elf_final_link): Reset target_index. - -2019-10-14 Alan Modra - - * elflink.c (elf_get_linked_section_vma): Delete. - (compare_link_order): Use elf_linked_to_section and sort by lma, - size, and id. - (elf_fixup_link_order): Use size_t variables where appropriate. - Make use of elf_linked_to_section. Formatting. Properly align - sections. - -2019-10-14 Alan Modra - - * elf-strtab.c (strrevcmp): Comment. - * merge.c (strrevcmp): Likewise. - * elf64-ppc.c (compare_symbols): Correct final pointer comparison. - Comment on why comparing pointers ensures a stable sort. - * elflink.c (struct elf_symbol): Add void* to union. - (elf_sort_elf_symbol): Ensure a stable sort with pointer comparison. - (elf_sym_name_compare): Likewise. - (bfd_elf_match_symbols_in_sections): Style fix. - (elf_link_sort_cmp1): Comment. - -2019-10-14 Alan Modra - - PR 24955 - * elflink.c (elf_output_implib): Don't use xmalloc. Don't ignore - return value of bfd_alloc2. - * peXXigen.c (_bfd_XXi_write_codeview_record): Don't use xmalloc. - * pef.c (bfd_pef_print_symbol): Likewise. Don't ignore return - value of bfd_get_section_contents. - * som.c (som_write_space_strings): Don't use xmalloc. - (som_write_symbol_strings): Likewise. - -2019-10-11 Max Filippov - - * dwarf2.c (stash_maybe_enable_info_hash_tables): Only set - stash->info_hash_status = STASH_INFO_HASH_ON when - stash_maybe_update_info_hash_tables succeeds. - -2019-10-09 Alan Modra - - PR 25070 - * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Catch overflow of - total_size calculation. - -2019-10-08 Alan Modra - - PR 25078 - * dwarf2.c (find_abstract_instance): Delete orig_info_ptr, add - recur_count. Error on recur_count reaching 100 rather than - info_ptr matching orig_info_ptr. Adjust calls. - -2019-10-07 Jozef Lawrynowicz - - * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Rename to.. - (elf32_msp430_merge_msp430_attributes): Add support for merging - the GNU object attribute for data region. - -2019-10-07 Alan Modra - - * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Do allocate - space for local got non-tls relocs when PIE. - -2019-10-07 Alan Modra - - * elflink.c (elf_fixup_link_order): Don't attempt to find - an elf_section for linker created bfd sections. - -2019-10-07 Alan Modra - - * elf32-ppc.c (ppc_elf_tls_optimize): Don't process R_PPC_TLSLD - with non-local symbol. Don't double count __tls_get_addr calls - with marker relocs. - * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise. - -2019-10-07 Alan Modra - - * elf32-ppc.c (nomark_tls_get_addr): Rename from has_tls_get_addr_call - throughout. - * elf64-ppc.c (nomark_tls_get_addr): Likewise. - -2019-10-04 Alan Modra - - * elf64-ppc.c (ppc64_elf_check_relocs): Move initialisation of vars. - (ppc64_elf_tls_optimize): Correct is_local condition. - (allocate_got): Don't reserve dynamic relocations for any of the - tls got relocs in PIEs when the symbol is local. - (allocate_dynrelocs): Correct validity test for local sym using - tlsld_got slot. - (ppc64_elf_size_dynamic_sections): Don't reserve dynamic relocations - for any of the tls got relocs in PIEs. - (ppc64_elf_layout_multitoc): Likewise. - (ppc64_elf_relocate_section): Correct validity test for local sym - using tlsld_got slot. Don't emit dynamic relocations for any of - the tls got relocs in PIEs when the symbol is local. - * elf32-ppc.c (ppc_elf_tls_optimize): Correct is_local condition. - (got_relocs_needed): Delete. - (allocate_dynrelocs): Correct validity test for local sym using - tlsld_got slot. Don't reserve dynamic relocations for any of the - tls got relocs in PIEs when the symbol is local. - (ppc_elf_size_dynamic_sections): Don't reserve dynamic relocations - for any of the tls got relocs in PIEs. - (ppc_elf_relocate_section): Correct validity test for local sym - using tlsld_got slot. Don't emit dynamic relocations for any of - the tls got relocs in PIEs when the symbol is local. - -2019-10-04 Szabolcs Nagy - - PR ld/22263 - PR ld/25056 - * elf32-arm.c (elf32_arm_tls_transition): Use bfd_link_dll instead of - bfd_link_pic for TLS checks. - (elf32_arm_final_link_relocate): Likewise. - (allocate_dynrelocs_for_symbol): Likewise. - -2019-10-04 Szabolcs Nagy - - PR ld/25062 - * elf32-arm.c (elf32_arm_final_link_relocate): Sign extend data. - -2019-09-30 Nick Alcock - - * elf-bfd.h (bfd_section_is_ctf): New inline function. - * elf.c (special_sections_c): Add ".ctf". - (assign_file_positions_for_non_load_sections): Note that - compressed debugging sections etc are not assigned here. Treat - CTF sections like SEC_ELF_COMPRESS sections when is_linker_output: - sh_offset -1. - (assign_file_positions_except_relocs): Likewise. - (find_section_in_list): Note that debugging and CTF sections, as - well as reloc sections, are assigned later. - (_bfd_elf_assign_file_positions_for_non_load): CTF sections get - their size and contents updated. - (_bfd_elf_set_section_contents): Skip CTF sections: unlike - compressed sections, they have no uncompressed content to copy at - this stage. - * elflink.c (elf_link_swap_symbols_out): Call the examine_strtab - callback right before the strtab is written out. - (bfd_elf_final_link): Don't cache the section contents of CTF - sections: they are not populated yet. Call the emit_ctf callback - right at the end, after all the symbols and strings are flushed - out. - -2019-07-13 Nick Alcock - - * elf-strtab.c (_bfd_elf_strtab_len): New. - (_bfd_elf_strtab_str): Likewise. - * bfd-elf.h: Declare them. - -2019-07-13 Nick Alcock - - * elf-bfd.h (bfd_elf_get_str_section): Add. - * elf.c (bfd_elf_get_str_section): No longer static. - -2019-09-26 Alan Modra - - PR 24262 - * Makefile.am (AM_CPPFLAGS): Add -DLIBDIR. - * plugin.c (load_plugin): Search both ${libdir}/bfd-plugins and - ${bindir}/../lib/bfd-plugins if different. - * Makefile.in: Regenerate. - -2019-09-23 Alan Modra - - * elf64-ppc.c (ppc64_elf_check_relocs): Use bfd_link_executable - in choosing between different actions for shared library and - non-shared library cases. Delete ELIMINATE_COPY_RELOCS test. - (dec_dynrel_count): Likewise. Account for ifunc special case. - (ppc64_elf_adjust_dynamic_symbol): Copy relocs are for executables, - not non-pic. - (allocate_dynrelocs): Comment fixes. Delete ELIMINATE_COPY_RELOCS - test. - -2019-09-23 Alan Modra - - * Makefile.am (SOURCE_HFILES): Add many missing .h files. - * Makefile.in: Regenerate. - * po/SRC-POTFILES.in: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h (bfd_symbol, bfd_section_already_linked), - (bfd_elf_version_tree): Delete forward declarations. - Move other forward decls and remaining elf function decl later. - (bfd_section_already_linked_table_init), - (bfd_section_already_linked_table_free), - (_bfd_handle_already_linked, _bfd_nearby_section), - (_bfd_fix_excluded_sec_syms): Move to bfdlink.h. - -2019-09-23 Alan Modra - - * bfd-in.h: Move ecoff function declarations.. - * ecoff-bfd.h: ..to here, new file. - * ecoff.c: Include ecoff-bfd.h. - * ecofflink.c: Likewise. - * elf64-alpha.c: Likewise. - * elfxx-mips.c: Likewise. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h (enum notice_asneeded_action): Move to bfdlink.h. - Move most other elf declarations.. - * elf-bfd.h: ..to here. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move m68k function declaration.. - * cpu-m68k.h: ..to here, new file.. - * elf32-m68k.h: ..and here, new file. - * elf32-m68k.c: Include cpu-m68k.h and elf32-m68k.h. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move bfin function declaration.. - * elf32-bfin.h: ..to here, new file. - * elf32-bfin.c: Include elf32-bfin.h. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move cr16 function declaration.. - * elf32-cr16.h: ..to here, new file. - * elf32-cr16.c: Include elf32-cr16.h. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h (bfd_sunos_get_needed_list), - (bfd_sunos_record_link_assignment), - (bfd_sunos_size_dynamic_sections), - (bfd_i386linux_size_dynamic_sections), - (bfd_sparclinux_size_dynamic_sections): Delete obsolete decls. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move xcoff function declarations.. - * xcofflink.h: ..to here, new file. - * xcofflink.c: Include xcofflink.h. - * coff-rs6000.c (bfd_xcoff_ar_archive_set_magic): Delete unused func. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Delete coff forward refs and move coff declaration.. - * coff-bfd.h: ..to here. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move arm declaraions.. - * cpu-arm.h: ..to here, new file.. - * coff-arm.h: ..and here, new file.. - * elf32-arm.h: ..and here, new file. - * cpu-arm.c: Include cpu-arm.h. - * coff-arm.c: Include cpu-arm.h and coff-arm.h. - * elf32-arm.c: Include cpu-arm.h and elf32-arm.h. - * pe-arm.c: Move function rename defines later. - * pe-arm-wince.c: Likewise and include sysdep.h and bfd.h early. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move tic6x function declaration.. - * elf32-tic6x.h: ..to here. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move aarch64 declarations and defines.. - * cpu-aarch64.h: ..to here, new file.. - * elfxx-aarch64.h: ..and here. - * cpu-aarch64.c: Include cpu-aarch64.h. - * elfnn-aarch64.c: Likewise. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Delete ticoff function declarations. - * coff-tic54x.c (bfd_ticoff_set_section_load_page), - (bfd_ticoff_get_section_load_page): Make static. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move h8300 function declaration to.. - * cpu-h8300.h: ..here, new file. - * cpu-h8300.c: Include cpu-h8300.h. - * elf32-h8300.c: Likewise. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move ia64 function declarations.. - * elfxx-ia64.h: ..to here. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move v850 function declarations.. - * elf32-v850.h: ..to here, new file. - * elf32-v850.c: Include elf32-v850.h. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move mips function declaration to.. - * elfxx-mips.h: ..here. - * bfd-in2.h: Regenerate. - -2019-09-23 Alan Modra - - * bfd-in.h: Move csky function declarations to.. - * elf32-csky.h: ..here, new file. - * elf32-csky.c: Include elf32-csky.h. - * bfd-in2.h: Regenerate. - -2019-09-20 Nelson Chu - - * elfnn-riscv.c (riscv_pcgp_hi_reloc): Add new field undefined_weak. - (riscv_record_pcgp_hi_reloc): New parameter undefined_weak. - Set undefined_weak field from it. - (relax_func_t): New parameter undefined_weak. - (_bfd_riscv_relax_call): New ignored parameter undefined_weak. - (_bfd_riscv_relax_tls_le): Likewise. - (_bfd_riscv_relax_align): Likewise. - (_bfd_riscv_relax_delete): Likewise. - (_bfd_riscv_relax_lui): New parameter undefined_weak. If true, - allow relaxing. For LO12* relocs, set rs1 to x0 when undefined_weak. - (_bfd_riscv_relax_pc): New parameter undefined_weak. For LO12* relocs, - set undefined_weak from hi_reloc. If true, allow relaxing. For LO12* - relocs, set rs1 to x0 when undefined_weak and change to non-pcrel - reloc. - (_bfd_riscv_relax_section): New local undefined_weak. Set for - undef weak relocs that can be relaxed. Pass to relax_func call. - -2019-09-20 Alan Modra - - * bfd-in.h (bfd_section_name, bfd_section_size, bfd_section_vma), - (bfd_section_lma, bfd_section_alignment, bfd_section_flags), - (bfd_section_userdata, bfd_is_com_section, discarded_section), - (bfd_get_section_limit_octets, bfd_get_section_limit): Delete macros. - * bfd.c (bfd_get_section_limit_octets, bfd_get_section_limit), - (bfd_section_list_remove, bfd_section_list_append), - (bfd_section_list_prepend, bfd_section_list_insert_after), - (bfd_section_list_insert_before, bfd_section_removed_from_list): - New inline functions. - * section.c (bfd_is_und_section, bfd_is_abs_section), - (bfd_is_ind_section, bfd_is_const_section, bfd_section_list_remove), - (bfd_section_list_append, bfd_section_list_prepend), - (bfd_section_list_insert_after, bfd_section_list_insert_before), - (bfd_section_removed_from_list): Delete macros. - (bfd_section_name, bfd_section_size, bfd_section_vma), - (bfd_section_lma, bfd_section_alignment, bfd_section_flags), - (bfd_section_userdata, bfd_is_com_section, bfd_is_und_section), - (bfd_is_abs_section, bfd_is_ind_section, bfd_is_const_section), - (discarded_section): New inline functions. - * bfd-in2.h: Regenerate. - -2019-09-20 Alan Modra - - * bfd-in.h (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name), - (bfd_asymbol_bfd, bfd_asymbol_flavour, bfd_set_asymbol_name): Delete. - * bfd.c (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name), - (bfd_asymbol_bfd, bfd_set_asymbol_name): New inline functions. - * targets.c (bfd_asymbol_flavour): Likewise. - * bfd-in2.h: Regenerate. - -2019-09-20 Alan Modra - - * archive.c (bfd_generic_archive_p): Use bfd_set_thin_archive. - * bfd-in.h (bfd_get_filename, bfd_get_cacheable, bfd_get_format), - (bfd_get_target, bfd_get_flavour, bfd_family_coff, bfd_big_endian), - (bfd_little_endian, bfd_header_big_endian, bfd_header_little_endian), - (bfd_get_file_flags, bfd_applicable_file_flags), - (bfd_applicable_section_flags, bfd_has_map, bfd_is_thin_archive), - (bfd_valid_reloc_types, bfd_usrdata, bfd_get_start_address), - (bfd_get_symcount, bfd_get_outsymbols, bfd_count_sections), - (bfd_get_dynamic_symcount, bfd_get_symbol_leading_char): Delete. - * bfd/bfd.c (bfd_get_filename, bfd_get_cacheable, bfd_get_format), - (bfd_get_file_flags, bfd_get_start_address, bfd_get_symcount), - (bfd_get_dynamic_symcount, bfd_get_outsymbols, bfd_count_sections), - (bfd_has_map, bfd_is_thin_archive, bfd_set_thin_archive), - (bfd_usrdata, bfd_set_usrdata): New inline functions. - * targets.c (bfd_get_target, bfd_get_flavour), - (bfd_applicable_file_flags, bfd_family_coff, bfd_big_endian), - (bfd_little_endian, bfd_header_big_endian), - (bfd_header_little_endian, bfd_applicable_section_flags), - (bfd_get_symbol_leading_char): New inline functions. - * bfd-in2.h: Regenerate. - -2019-09-20 Alan Modra - - * elf64-ppc.c (ppc64_glibc_dynamic_reloc): New function. - (ppc64_elf_relocate_section): Warn if emitting unsupported dynamic - relocations. - -2019-09-18 Alan Modra - - * bfd-in.h (bfd_get_section_name, bfd_get_section_vma), - (bfd_get_section_lma, bfd_get_section_alignment), - (bfd_get_section_size, bfd_get_section_flags), - (bfd_get_section_userdata): Delete. - (bfd_section_name, bfd_section_size, bfd_section_vma), - (bfd_section_lma, bfd_section_alignment): Lose bfd parameter. - (bfd_section_flags, bfd_section_userdata): New. - (bfd_is_com_section): Rename parameter. - * section.c (bfd_set_section_userdata, bfd_set_section_vma), - (bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section), - (bfd_set_section_size): Delete bfd parameter, rename section parameter. - (bfd_set_section_lma): New. - * bfd-in2.h: Regenerate. - * mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param, - update callers. - * aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c, - * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c, - * compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h, - * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c, - * elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c, - * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c, - * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c, - * elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c, - * elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c, - * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c, - * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c, - * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c, - * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, - * elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c, - * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c, - * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c, - * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, - * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c, - * elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c, - * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c, - * elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c, - * elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c, - * elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c, - * mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c, - * peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c, - * xcofflink.c: Update throughout for bfd section macro and function - changes. - -2019-09-18 Alan Modra - - * bfd-in.h (bfd_asymbol_section): Rename from bfd_get_section. - (bfd_get_output_section): Delete. - (bfd_asymbol_base): Delete. - (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name), - (bfd_asymbol_bfd, bfd_asymbol_flavour): Tidy. - (bfd_set_asymbol_name): New macro. - * bfd-in2.h: Regenerate. - * aout-cris.c: Update throughout to use bfd_asymbol_section. - * aoutx.h: Likewise. - * cofflink.c: Likewise. - * dwarf2.c: Likewise. - * ecoff.c: Likewise. - * elf.c: Likewise. - * elf32-arm.c: Likewise. - * elf32-mips.c: Likewise. - * elf32-score.c: Likewise. - * elf32-score7.c: Likewise. - * elfn32-mips.c: Likewise. - * elfnn-aarch64.c: Likewise. - * elfxx-mips.c: Likewise. - * linker.c: Likewise. - * pdp11.c: Likewise. - * elf64-mmix.c (mmix_elf_reloc): Part expand bfd_get_output_section. - -2019-09-18 Simon Marchi - - * Makefile.in: Re-generate. - * configure: Re-generate. - * doc/Makefile.in: Re-generate. - -2019-09-18 Alan Modra - - * aoutx.h (slurp_symbol_table): Don't set symcount using bfd_get - macros. - * pdp11.c (slurp_symbol_table): Likewise. - * som.c (som_slurp_symbol_table): Likewise. - * coff-ppc.c (ppc_bfd_coff_final_link): Likewise. - * coffcode.h (coff_slurp_symbol_table): Likewise. - * cofflink.c (_bfd_coff_final_link): Likewise. - * ecoff.c (ecoff_slurp_symbolic_header): Likewise. - (_bfd_ecoff_slurp_symbolic_info): Likewise. - (_bfd_ecoff_slurp_symbol_table): Likewise. - (_bfd_ecoff_bfd_final_link): Likewise. - * elf.c (_bfd_elf_canonicalize_symtab): Likewise. - * elflink.c (elf_link_output_symstrtab): Likewise. - (bfd_elf_final_link): Likewise. - * peicode.h (pe_ILF_build_a_bfd): Likewise. - * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. - * aoutx.h (some_aout_object_p, slurp_symbol_table): Don't set - start_address or symcount using bfd_get macros. - * coffgen.c (coff_real_object_p): Likewise. - * pdp11.c (some_aout_object_p, slurp_symbol_table): Likewise. - * som.c (som_object_setup, som_slurp_symbol_table): Likewise. - * elfcore.h (elf_core_file_p): Don't set start_address using - bfd_get macro. - * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Don't set dynsymcount - using bfd_get macro. - * bfd.c (bfd_set_file_flags): Don't set flags using bfd_get macro. - * linker.c (bfd_generic_link_read_symbols): Don't set outsymbols - or symcount using bfd_get macros. - (_bfd_generic_final_link, generic_add_output_symbol): Likewise. - * syms.c (bfd_set_symtab): Likewise. - * vms-alpha.c (alpha_vms_bfd_final_link): Likewise. - * archive.c (do_slurp_bsd_armap): Don't set has_armap using - bfd_has_map macro. - (do_slurp_coff_armap, bfd_slurp_armap): Likewise. - * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise. - * coff-rs6000.c (_bfd_xcoff_slurp_armap): Likewise. - * coff64-rs6000.c (xcoff64_slurp_armap): Likewise. - * ecoff.c (_bfd_ecoff_slurp_armap): Likewise. - * som.c (som_slurp_armap): Likewise. - -2019-09-18 Alan Modra - - * archures.c (bfd_get_arch): Make param const. - (bfd_get_mach, bfd_arch_bits_per_byte): Likewise. - (bfd_arch_bits_per_address, bfd_octets_per_byte): Likewise. - * bfd-in2.h: Regenerate. - -2019-09-18 Alan Modra - - * bfd-in.h (carsym.name): Make const. - * reloc.c (struct reloc_howto_struct.name): Likewise. - * targets.c (bfd_target.name): Likewise.! - * bfd.c (bfd_get_sign_extend_vma): Make variable const. - * som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable - when setting carsym.name. - * bfd-in2.h: Regenerate. - -2019-09-18 Alan Modra - - * mach-o.c (bfd_mach_o_fat_member_init): Likewise. Replace - xstrdup and xmalloc with bfd_strdup and bfd_malloc. Return an - error status. Adjust calls. - * vms-lib.c (_bfd_vms_lib_get_module): Test mhd->id earlier. - Close bfd on failure. Replace xstrdup/bfd_alloc use with - bfd_malloc. Use bfd_set_filename. - -2019-09-18 Alan Modra - - * elf64-ppc.c (must_be_dyn_reloc): Return 0 for TOC16 relocs. - (ppc64_elf_check_relocs): Support dynamic/copy relocs for TOC16. - (ppc64_elf_adjust_dynamic_symbol): Don't keep dynamic reloc when - needs_copy even if all relocs are in rw sections. - (dec_dynrel_count): Handle TOC16 relocs. - (ppc64_elf_relocate_section): Support dynamic relocs for TOC16. - (ppc64_elf_finish_dynamic_symbol): Adjust to handle needs_copy - semantic change. - -2019-09-16 Phil Blundell - - * version.m4: Set version to 2.33.50. - * Makefile.in, configure, doc/Makefile.in: Regenerated. - -2019-09-11 Tom Tromey - - * opncls.c (bfd_set_filename): New function. - * bfd-in2.h: Regenerate. - -2019-09-11 Alan Modra - - * targets.c (struct bfd_target): Add _bfd_group_name. - (BFD_JUMP_TABLE): Likewise. - * coffgen.c (bfd_coff_group_name): New function. - * elf.c (bfd_elf_group_name): New function. - * linker.c (_bfd_nolink_bfd_group_name): New function. - * section.c (bfd_generic_group_name): New function. - * elf-bfd.h (bfd_elf_group_name): Declare. - * libbfd-in.h (_bfd_nolink_bfd_group_name): Declare. - * libcoff-in.h (bfd_coff_group_name): Declare. - * aout-target.h (MY_bfd_group_name): Define. - * aout-tic30.c (MY_bfd_group_name): Define. - * bfd.c (bfd_group_name): Define. - * binary.c (binary_bfd_group_name): Define. - * coff-alpha.c (_bfd_ecoff_bfd_group_name): Define. - * coff-mips.c (_bfd_ecoff_bfd_group_name): Define. - * coff-rs6000.c (_bfd_xcoff_bfd_group_name): Define. - * coffcode.h (coff_bfd_group_name): Define. - * elfxx-target.h (bfd_elfNN_bfd_group_name): Define. - * i386msdos.c (msdos_bfd_group_name): Define. - * ihex.c (ihex_bfd_group_name): Define. - * mach-o-target.c (bfd_mach_o_bfd_group_name): Define. - * mmo.c (mmo_bfd_group_name): Define. - * pef.c (bfd_pef_bfd_group_name): Define. - * plugin.c (bfd_plugin_bfd_group_name): Define. - * ppcboot.c (ppcboot_bfd_group_name): Define. - * som.c (som_bfd_group_name): Define. - * srec.c (srec_bfd_group_name): Define. - * tekhex.c (tekhex_bfd_group_name): Define. - * verilog.c (verilog_bfd_group_name): Define. - * vms-alpha.c (vms_bfd_group_name, alpha_vms_bfd_group_name): Define. - * xsym.c (bfd_sym_bfd_group_name): Define. - * coff64-rs6000.c (rs6000_xcoff64_vec): Init new field. - (rs6000_xcoff64_aix_vec): Likewise. - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - * libcoff.h: Regenerate. - -2019-09-10 Nick Clifton - - PR 24907 - * archures.c (bfd_arch_info_type): Add max_reloc_offset_into_insn - field. - (bfd_default_arch_struct): Initialise the new field. - * bfd-in2.h: Regenerate. - * cpu-aarch64.c: Initialise the new field. - * cpu-alpha.c: Likewise. - * cpu-arc.c: Likewise. - * cpu-arm.c: Likewise. - * cpu-avr.c: Likewise. - * cpu-bfin.c: Likewise. - * cpu-bpf.c: Likewise. - * cpu-cr16.c: Likewise. - * cpu-cr16c.c: Likewise. - * cpu-cris.c: Likewise. - * cpu-crx.c: Likewise. - * cpu-csky.c: Likewise. - * cpu-d10v.c: Likewise. - * cpu-d30v.c: Likewise. - * cpu-dlx.c: Likewise. - * cpu-epiphany.c: Likewise. - * cpu-fr30.c: Likewise. - * cpu-frv.c: Likewise. - * cpu-ft32.c: Likewise. - * cpu-h8300.c: Likewise. - * cpu-hppa.c: Likewise. - * cpu-i386.c: Likewise. - * cpu-ia64.c: Likewise. - * cpu-iamcu.c: Likewise. - * cpu-ip2k.c: Likewise. - * cpu-iq2000.c: Likewise. - * cpu-k1om.c: Likewise. - * cpu-l1om.c: Likewise. - * cpu-lm32.c: Likewise. - * cpu-m10200.c: Likewise. - * cpu-m10300.c: Likewise. - * cpu-m32c.c: Likewise. - * cpu-m32r.c: Likewise. - * cpu-m68hc11.c: Likewise. - * cpu-m68hc12.c: Likewise. - * cpu-m68k.c: Likewise. - * cpu-m9s12x.c: Likewise. - * cpu-m9s12xg.c: Likewise. - * cpu-mcore.c: Likewise. - * cpu-mep.c: Likewise. - * cpu-metag.c: Likewise. - * cpu-microblaze.c: Likewise. - * cpu-mips.c: Likewise. - * cpu-mmix.c: Likewise. - * cpu-moxie.c: Likewise. - * cpu-msp430.c: Likewise. - * cpu-mt.c: Likewise. - * cpu-nds32.c: Likewise. - * cpu-nfp.c: Likewise. - * cpu-nios2.c: Likewise. - * cpu-ns32k.c: Likewise. - * cpu-or1k.c: Likewise. - * cpu-pdp11.c: Likewise. - * cpu-pj.c: Likewise. - * cpu-plugin.c: Likewise. - * cpu-powerpc.c: Likewise. - * cpu-pru.c: Likewise. - * cpu-riscv.c: Likewise. - * cpu-rl78.c: Likewise. - * cpu-rs6000.c: Likewise. - * cpu-rx.c: Likewise. - * cpu-s12z.c: Likewise. - * cpu-s390.c: Likewise. - * cpu-score.c: Likewise. - * cpu-sh.c: Likewise. - * cpu-sparc.c: Likewise. - * cpu-spu.c: Likewise. - * cpu-tic30.c: Likewise. - * cpu-tic4x.c: Likewise. - * cpu-tic54x.c: Likewise. - * cpu-tic6x.c: Likewise. - * cpu-tic80.c: Likewise. - * cpu-tilegx.c: Likewise. - * cpu-tilepro.c: Likewise. - * cpu-v850.c: Likewise. - * cpu-v850_rh850.c: Likewise. - * cpu-vax.c: Likewise. - * cpu-visium.c: Likewise. - * cpu-wasm32.c: Likewise. - * cpu-xc16x.c: Likewise. - * cpu-xgate.c: Likewise. - * cpu-xstormy16.c: Likewise. - * cpu-xtensa.c: Likewise. - * cpu-z80.c: Likewise. - * cpu-z8k.c: Likewise. - -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-09-06 Alan Modra - - * aout-target.h (object_p): Formatting. - * bfd-in.h (bfd_get_filename): Don't cast to char*. - * corefile.c (generic_core_file_matches_executable_p): Constify - variables and remove cast. - * bfd-in2.h: Regenerate. - -2019-09-05 Alan Modra - - * elf64-ppc.c (ppc64_elf_check_relocs): Interpret an addend in - GOT_PCREL and PLT_PCREL relocs as affecting the value stored - in the GOT/PLT entry rather than affecting the offset to that - GOI/PLT entry. - (ppc64_elf_edit_toc, ppc64_elf_relocate_section): Likewise. - -2019-09-05 Alan Modra - - * elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores - in second instruction. - (ppc64_elf_relocate_section): Likewise. - -2019-09-05 Alan Modra - - PR 24955 - * libbfd-in.h (bfd_strdup): New inline function. - * archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup. Close - bfd on error. - * elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup. - * opncls.c (bfd_fopen): Use bfd_strdup. Close fd and stream - on error. - (bfd_openstreamr): Use bfd_strdup. - (bfd_openr_iovec, bfd_openw, bfd_create): Likewise. - * plugin.c (try_load_plugin): Use bfd_malloc. - * libbfd.h: Regenerate. - -2019-09-02 Alan Modra - - PR 11983 - * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename - on success. Tidy. - (read_alt_indirect_string): Likewise. - (read_alt_indirect_ref): Likewise. - -2019-08-31 Jim Wilson - - PR 23825 - * elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD, - SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section. - -2019-08-30 Jim Wilson - - * elfnn-riscv.c (riscv_elf_relocate_section): For unresolvable reloc - error, call bfd_set_error, set ret to FALSE, and goto out label. - -2019-08-30 H.J. Lu - - PR ld/24951 - * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS, - BFD_DECOMPRESS and BFD_COMPRESS_GABI flags for thin archive. - -2019-08-29 Alan Modra - - PR 24697 - * elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc - when !bfd_link_executable for R_PPC_EMB_SDA2I16 and - R_PPC_EMB_SDA2REL. Don't call bad_shared_reloc for any other - reloc. - -2019-08-29 Alan Modra - - * elf64-ppc.c (xlate_pcrel_opt): Add poff parameter. Allow offset - on second insn, return it in poff. - (ppc64_elf_relocate_section): Add offset to paddi addend for - PCREL_OPT. - -2019-08-28 Jim Wilson - - * elfnn-riscv.c (_bfd_riscv_relax_lui): Add check to exclude abs - section when setting max_alignment. Update comment. - (_bfd_riscv_relax_pc): Likewise. - -2019-08-29 Alan Modra - - PR 24891 - * bfd.c (struct bfd): Add no_element_cache. - * archive.c (_bfd_get_elt_at_filepos): Don't add element to - archive cache when no_element_cache. - (bfd_generic_archive_p): Set no_element_cache when opening first - element to check format. Close first element too. - (do_slurp_bsd_armap): Don't zero ardata->cache here. - * bfd-in2.h: Regenerate. - -2019-08-24 Alan Modra - - * elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak - symbols from GOT optimisation. - -2019-08-23 Stafford Horne - - * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for - PLT GOT entries. - -2019-08-23 Nick Clifton - - PR 24456 - * elf.c (bfd_section_from_shdr): Issue an informative warning - message and continue processing other sections after encountering - a reloc section for a section which already has other relocs - associated with it. - -2019-08-23 Alan Modra - - PR 24933 - * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit - on error without freeing plts[] contents. - -2019-08-22 Dennis Zhang - - * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE. - -2019-08-22 Nick Clifton - - PR 24922 - * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before - reading data from extra records. - -2019-08-22 Tamar Christina - - PR ld/24601 - * elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS. - Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation. - * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it. - * elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning - for weak TLS. - -2019-08-22 Alan Modra - - * elf32-arm.c (cmse_scan): Don't use ARM_GET_SYM_CMSE_SPCL, - instead recognize CMSE_PREFIX in symbol name. - (elf32_arm_gc_mark_extra_sections): Likewise. - (elf32_arm_filter_cmse_symbols): Don't test ARM_GET_SYM_CMSE_SPCL. - (elf32_arm_swap_symbol_in): Don't invoke ARM_SET_SYM_CMSE_SPCL. - -2019-08-20 Dennis Zhang - - * cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65, - Cortex-A77, cortex-A65AE, and Cortex-A76AE. - -2019-08-20 Tamar Christina - - * elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub, - elf32_arm_stub_long_branch_v4t_thumb_thumb, - elf32_arm_stub_long_branch_v4t_thumb_arm, - elf32_arm_stub_short_branch_v4t_thumb_arm, - elf32_arm_stub_long_branch_v4t_thumb_arm_pic, - elf32_arm_stub_long_branch_v4t_thumb_thumb_pic, - elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to - previous instruction. - -2019-08-19 Tom Tromey - - * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table - holding symbols. - -2019-08-19 Alan Modra - - * elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel - to has_optrel. - (struct _ppc64_elf_section_data): Likewise. - (ppc64_elf_check_relocs): Set has_optrel for more relocs. - (ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather - than TOC loop. Check PLT16 insns too. - -2019-08-16 H.J. Lu - - PR ld/24905 - * elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for - PC-relative relocations back to ... - (elf_x86_64_relocate_section): Here. - -2019-08-16 Martin Liska - - PR ld/24912 - * elflink.c: Report error only for not relocatable. - * linker.c (_bfd_generic_link_add_one_symbol): Do not handle - here lto_slim_object as it's handled in caller. - -2019-08-16 Alan Modra - - * elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs. - -2019-08-15 Jim Wilson - - * elfnn-riscv.c (perform_relocation) : If - RISCV_CONST_HIGH_PART (value) is zero, then convert c.lui instruction - to c.li instruction, and use ENCODE_RVC_IMM to set value. - -2019-08-15 Tom Tromey - - * dwarf2.c (scan_unit_for_symbols): Check for end of CU, not end - of section. - -2019-08-14 Alan Modra - - PR 24623 - * dwarf2.c (stash_comp_unit): New function, extracted from.. - (_bfd_dwarf2_find_nearest_line): ..here. - (find_abstract_instance): Parse comp units and decode line info - as needed. - -2019-08-14 Alan Modra - - * dwarf2.c (comp_unit_maybe_decode_line_info): Declare. - (comp_unit_find_nearest_line): Use it here.. - (_bfd_dwarf2_find_symbol_bias): ..and here. - -2019-08-14 Alan Modra - - * dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter. - * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. - * coffgen.c (coff_find_nearest_line_with_names): Adjust - _bfd_dwarf2_find_nearest_line calls. - * elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise. - * elf32-arm.c (elf32_arm_find_nearest_line): Likewise. - * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise. - * elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise. - * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise. - * mach-o.c (bfd_mach_o_find_nearest_line): Likewise. - * libbfd.h: Regenerate. - -2019-08-09 Mihailo Stojanovic - - * elf-bfd.h (struct elf_backend_data): New members. - * elflink.c (_bfd_elf_link_create_dynamic_sections): Create - .gnu.hash section if necessary. - (struct collect_gnu_hash_codes): New member. - (elf_gnu_hash_process_symidx): New function name. - (elf_renumber_gnu_hash_syms): Ignore local and undefined - symbols. Record xlat location for every symbol which should have - a .MIPS.xhash entry. - (bfd_elf_size_dynamic_sections): Add DT_GNU_HASH dynamic tag to - dynamic section if necessary. - (GNU_HASH_SECTION_NAME): New define. - (bfd_elf_size_dynsym_hash_dynstr): Get .MIPS.xhash section. - Update the section size info. - * elfxx-mips.c (struct mips_elf_hash_sort_data): New members. - (struct mips_elf_link_hash_entry): New member. - (mips_elf_link_hash_newfunc): Initialize .MIPS.xhash translation - table location. - (mips_elf_sort_hash_table): Initialize the pointer to the - .MIPS.xhash section. - (mips_elf_sort_hash_table_f): Populate the .MIPS.xhash - translation table entry with the symbol dynindx. - (_bfd_mips_elf_section_from_shdr): Add SHT_MIPS_XHASH. - (_bfd_mips_elf_fake_sections): Initialize .MIPS.xhash section - info. - (_bfd_mips_elf_create_dynamic_sections): Create .MIPS.xhash - section. - (_bfd_mips_elf_size_dynamic_sections): Add DT_MIPS_XHASH tag to - dynamic section. - (_bfd_mips_elf_finish_synamic_sections): Add DT_MIPS_XHASH. - (_bfd_mips_elf_final_write_processing): Set .MIPS.xhash section - sh_link info. - (_bfd_mips_elf_get_target_dtag): Get DT_MIPS_XHASH tag. - (MIPS_LIBC_ABI_XHASH): New ABI version enum value. - (_bfd_mips_post_process_headers): Mark the ABI version as - MIPS_LIBC_ABI_XHASH if there exists a .MIPS.xhash section, - but not a .hash section. - (_bfd_mips_elf_record_xhash_symbol): New function. Record a - position in the translation table, associated with the hash - entry. - * elfxx-mips.h (literal_reloc_p): Define - elf_backend_record_xhash_symbol backend hook. - * elfxx-target.h: Initialize elf_backend_record_xhash_symbol - backend hook. - -2019-08-07 Jose E. Marchesi - - * elf64-bpf.c (bpf_elf_relocate_section): New function. - (bpf_elf_insn_disp_reloc): Delete function. - (elf_backend_relocate_section): Define. - -2019-08-07 Alan Modra - - PR 24644 - * archive64.c (_bfd_archive_64_bit_slurp_armap): Properly check - for overflow in expressions involving nsymz. - -2019-08-01 Ilia Diachkov - - * elfnn-riscv.c (_bfd_riscv_relax_lui): Set lui relax safety area to - two pages in relro presence. - -2019-08-01 Max Filippov - - * elf32-xtensa.c (insn_num_slots, get_rsr_lend_opcode) - (get_wsr_lbeg_opcode): New functions. - (check_loop_aligned): Detect relaxed loops and adjust loop_len - and insn_len for the first actual instruction of the loop. - -2019-07-30 Alan Modra - - PR 24768 - * bfd.c (struct bfd): Add lto_slim_object flag. - * bfd-in2.h: Regenerate. - -2019-07-29 Martin Liska - - PR 24768 - * archive.c (_bfd_compute_and_write_armap): Come up with - report_plugin_err variable. - * bfd-in2.h (struct bfd): Add lto_slim_object flag. - * elf.c (struct lto_section): New. - (_bfd_elf_make_section_from_shdr): Parse content of - .gnu_lto_.lto section. - * elflink.c: Report error for a missing LTO plugin. - * linker.c (_bfd_generic_link_add_one_symbol): Likewise. - -2019-07-28 Alan Modra - - PR 24857 - PR 24339 - * elflink.c (elf_link_add_object_symbols): Report an informative - error on finding local symbols with index equal or greater than - symbol table sh_info. Correct comment. Allow such symbols in - dynamic objects. Abort on NULL section for symbol. - -2019-07-26 Alan Modra - - * elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field. - (elf_linker): Don't define. - * elflink.c (bfd_elf_final_link): Don't set elf_linker. - -2019-07-25 YunQiang Su - - PR 24832 - * elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit - mips inputs. - -2019-07-24 Claudiu Zissulescu - - * elf32-arc.c (bfd_get_32_me): Add a small description, fix - formating. - (reloc_type_to_name): Fix formating. - (arc_elf_object_p): Likewise. - (debug_arc_reloc): Likewise. - (arc_do_relocation): Likewise. - -2019-07-24 Claudiu Zissulescu - - * elf32-arc.c (bfd_get_32_me): New function. - (bfd_put_32_me): Likewise. - (arc_elf_relax_section): Likewise. - (bfd_elf32_bfd_relax_section): Define. - -2019-07-24 Alan Modra - - * elf-bfd.h (struct elf_backend_data): Return bfd_boolean from - elf_backend_final_write_processing, don't pass linker arg. - (_bfd_elf_final_write_processing): Update prototype. - * elf.c (_bfd_elf_write_object_contents): Adjust call. - (_bfd_elf_final_write_processing): Return error on incompatible - OSABI and has_gnu_osabi. Remove linker arg. - * elf-nacl.h (nacl_final_write_processing): Update prototype. - * elf-vxworks.h (elf_vxworks_final_write_processing): Likewise. - * elfxx-mips.h (_bfd_mips_final_write_processing): Likewise. - (_bfd_mips_elf_final_write_processing): Likewise. - * elf-hppa.h (elf_hppa_final_write_processing): Return status - and remove linker arg. - * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise. - * elf-nacl.c (nacl_final_write_processing): Likewise. - * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise. - * elf32-arc.c (arc_elf_final_write_processing): Likewise. - * elf32-arm.c (arm_final_write_processing): Likewise. - (elf32_arm_final_write_processing): Likewise. - (elf32_arm_nacl_final_write_processing): Likewise. - (elf32_arm_vxworks_final_write_processing): Likewise. - * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise. - * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise. - * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise. - * elf32-cris.c (cris_elf_final_write_processing): Likewise. - * elf32-h8300.c (elf32_h8_final_write_processing): Likewise. - * elf32-lm32.c (lm32_elf_final_write_processing): Likewise. - * elf32-m32r.c (m32r_elf_final_write_processing): Likewise. - * elf32-m68k.c (elf_m68k_final_write_processing): Likewise. - * elf32-mips.c (mips_vxworks_final_write_processing): Likewise. - * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise. - * elf32-nds32.c (nds32_elf_final_write_processing): Likewise. - * elf32-or1k.c (or1k_elf_final_write_processing): Likewise. - * elf32-pj.c (pj_elf_final_write_processing): Likewise. - * elf32-ppc.c (ppc_final_write_processing): Likewise. - (ppc_elf_final_write_processing): Likewise. - (ppc_elf_vxworks_final_write_processing): Likewise. - * elf32-sparc.c (sparc_final_write_processing): Likewise. - (elf32_sparc_final_write_processing): Likewise. - (elf32_sparc_vxworks_final_write_processing): Likewise. - * elf32-v850.c (v850_elf_final_write_processing): Likewise. - * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise. - * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise. - * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise. - * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise. - * elfxx-mips.c (_bfd_mips_final_write_processing): Likewise. - (_bfd_mips_elf_final_write_processing): Likewise. - -2019-07-24 Alan Modra - - * elf-vxworks.c (elf_vxworks_final_write_processing): Don't return - early. - * elf32-arc.c (arc_elf_final_write_processing): Likewise. - * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise. - -2019-07-24 Alan Modra - - * elf32-visium.c (visium_elf_post_process_headers): Don't set - EI_OSABI header byte here. - (ELF_OSABI): Define. - -2019-07-23 Alan Modra - - * elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind. - * elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind. - (get_program_header_size): Formatting. Only test SH_GNU_MBIND - when elf_gnu_osabi_mbind is set. - (_bfd_elf_map_sections_to_segments): Likewise. - (_bfd_elf_init_private_section_data): Likewise. - (_bfd_elf_final_write_processing): Update comment. - * elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry. - (elf_backend_special_sections): Define without .tbss for linux. - -2019-07-23 Alan Modra - - * elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols. - Remove none, any, all enums. - (struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi. - (_bfd_elf_final_write_processing): Declare. - * elf.c (_bfd_elf_write_object_contents): Unconditionally call - elf_backend_final_write_processing. - (_bfd_elf_post_process_headers): Move body of function to.. - (_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte - only when not already set. Adjust for rename. - * elfxx-target.h (elf_backend_final_write_processing): Default to - _bfd_elf_final_write_processing. - * elf-hppa.h (elf_hppa_final_write_processing): Call - _bfd_elf_final_write_processing. - * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise. - * elf-nacl.c (nacl_final_write_processing): Likewise. - * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise. - * elf32-arc.c (arc_elf_final_write_processing): Likewise. - * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise. - * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise. - * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise. - * elf32-cris.c (cris_elf_final_write_processing): Likewise. - * elf32-h8300.c (elf32_h8_final_write_processing): Likewise. - * elf32-lm32.c (lm32_elf_final_write_processing): Likewise. - * elf32-m32r.c (m32r_elf_final_write_processing): Likewise. - * elf32-m68k.c (elf_m68k_final_write_processing): Likewise. - * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise. - * elf32-nds32.c (nds32_elf_final_write_processing): Likewise. - * elf32-or1k.c (or1k_elf_final_write_processing): Likewise. - * elf32-pj.c (pj_elf_final_write_processing): Likewise. - * elf32-v850.c (v850_elf_final_write_processing): Likewise. - * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise. - * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise. - * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise. - * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise. - * elf32-arm.c (arm_final_write_processing): Split out from.. - (elf32_arm_final_write_processing): ..here. Call - _bfd_elf_final_write_processing. - (elf32_arm_nacl_final_write_processing): Adjust. - * elfxx-mips.c (_bfd_mips_final_write_processing): Split out from.. - (_bfd_mips_elf_final_write_processing): ..here. Call - _bfd_elf_final_write_processing. - * elfxx-mips.h (_bfd_mips_final_write_processing): Declare. - * elf32-mips.c (mips_vxworks_final_write_processing): Adjust. - * elf32-ppc.c (ppc_final_write_processing): Split out from.. - (ppc_elf_final_write_processing): ..here. Call - _bfd_elf_final_write_processing. - (ppc_elf_vxworks_final_write_processing): Adjust. - * elf32-sparc.c (sparc_final_write_processing): Split out from.. - (elf32_sparc_final_write_processing): ..here. Call - _bfd_elf_final_write_processing. - (elf32_sparc_vxworks_final_write_processing): Adjust. - * elf32-d10v.c (elf_backend_final_write_processing): Don't define. - * elf32-d30v.c (elf_backend_final_write_processing): Don't define. - * elf32-m68hc11.c (elf_backend_final_write_processing): Don't define. - * elf32-m68hc12.c (elf_backend_final_write_processing): Don't define. - * elf32-s12z.c (elf_backend_final_write_processing): Don't define. - * elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols. - * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. - * elflink.c (elf_link_add_object_symbols): Likewise. - (elf_link_output_symstrtab): Set has_gnu_osabi for symbols here - instead. - -2019-07-23 Omar Majid - - * coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC, - I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC, - AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC, - AMD64_NETBSD_MAGIC. - * peXXigen.c: Add comment about source of .NET magic numbers. - -2019-07-19 Alan Modra - - * reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34), - (BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34), - (BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34), - (BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs. - * elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs. - (ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs. - (must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64. - (ppc64_elf_check_relocs): Support pcrel tls relocs. - (ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise. - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - -2019-07-18 Alan Modra - - * elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting - a TLS section symbol for edited relocs. Tighten TLS symbol/reloc - match test. - -2019-07-18 Alan Modra - - * elf64-ppc.c (TLS_EXPLICIT): Define as 256. - (ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char - is more than 8 bits. - (ppc64_elf_tls_optimize): Likewise. Make tls_set, tls_clear, and - tls_type vars unsigned int. - (ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT - to select r_type edit. - -2019-07-18 Alan Modra - - * elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file. - Correct comment. - * elf64-ppc.c (TLS_GDIE): Likewise. - -2019-07-18 Alan Modra - - * elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed - range of tp-relative offsets. - -2019-07-15 Alan Modra - - * elflink.c (_bfd_elf_fix_symbol_flags): If the def for an - alias is no longer bfd_link_hash_defined, clear the alias. - -2019-07-13 Alan Modra - - * elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep - tls_sec. - (_bfd_elf_init_1_index_section): Prefer not using TLS sections. - (_bfd_elf_init_2_index_sections): Likewise. - * elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic - relocations for local TLS symbols, use STN_UNDEF as the relocation - symbol. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't - leave TLS symbol value in the addend. - -2019-07-08 Alan Modra - - PR 24785 - * elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo - size before reading first word. - -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. - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - -2019-04-15 Thomas Preud'homme - - * archures.c (bfd_mach_arm_8_1M_MAIN): Define. - * bfd-in2.h: Regenerate. - * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline. - * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline - and update assert. - (using_thumb2): Likewise. - (using_thumb2_bl): Update assert. - (arch_has_arm_nop): Likewise. - (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline. - (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging. - -2019-04-11 H.J. Lu - - * elf-linker-x86.h (elf_x86_cet_report): New. - (elf_linker_x86_params): Add cet_report. - * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report - missing IBT and SHSTK properties if needed. - -2019-04-11 H.J. Lu - - PR ld/24436 - * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of - "h != NULL". Don't check "h != NULL" before calling. - bfd_elf_gc_record_vtentry. - * elf32-arm.c (elf32_arm_check_relocs): Likewise. - * elf32-bfin.c (bfin_check_relocs): Likewise. - * elf32-cris.c (cris_elf_check_relocs): Likewise. - * elf32-csky.c (csky_elf_check_relocs): Likewise. - * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. - * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. - * elf32-fr30.c (fr30_elf_check_relocs): Likewise. - * elf32-frv.c (elf32_frv_check_relocs): Likewise. - * elf32-hppa.c (elf32_hppa_check_relocs): Likewise. - * elf32-i386.c (elf_i386_check_relocs): Likewise. - * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. - * elf32-m32r.c (m32r_elf_check_relocs): Likewise. - * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. - * elf32-m68k.c (elf_m68k_check_relocs): Likewise. - * elf32-mcore.c (mcore_elf_check_relocs): Likewise. - * elf32-metag.c (elf_metag_check_relocs): Likewise. - * elf32-or1k.c (or1k_elf_check_relocs): Likewise. - * elf32-ppc.c (ppc_elf_check_relocs): Likewise. - * elf32-s390.c (elf_s390_check_relocs): Likewise. - * elf32-sh.c (sh_elf_check_relocs): Likewise. - * elf32-v850.c (v850_elf_check_relocs): Likewise. - * elf32-vax.c (elf_vax_check_relocs): Likewise. - * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise. - * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise. - * elf64-mmix.c (mmix_elf_check_relocs): Likewise. - * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. - * elf64-s390.c (elf_s390_check_relocs): Likewise. - * elf64-x86-64.c (elf_s390_check_relocs): Likewise. - * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. - * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. - * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt - VTENTRY entry. - -2019-04-11 Alan Modra - - PR 24435 - * elflink.c (elf_link_add_object_symbols): Don't read partial - dynamic entries from fuzzed objects. - -2019-04-11 Tamar Christina - - PR ld/24302 - * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit - DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW. - (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW. - -2019-04-10 Michael Forney - - PR 24427 - * doc/chew.c (free_words): Correctly free "push_text" strings. - -2019-04-08 H.J. Lu - - * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets. - -2019-04-08 Alan Modra - - * configure.ac (elfxx_x86): Define and use. - * configure: Regenerate. - -2019-04-06 H.J. Lu - - * elf-linker-x86.h: New file. - * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params - to get x86-specific linker options. - * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise. - (elf_x86_64_check_relocs): Likewise. - (elf_x86_64_relocate_section): Likewise. - (elf_x86_64_link_setup_gnu_properties): Likewise. - * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise. - (_bfd_x86_elf_link_setup_gnu_properties): Likewise. - (_bfd_elf_linker_x86_set_options): New function. - * elfxx-x86.h: Include "elf-linker-x86.h". - (elf_x86_link_hash_table): Add params. - -2019-04-03 Alan Modra - - * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c, - * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c, - * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c, - * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c, - * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c, - * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes. - -2019-04-02 Jim Wilson - - PR 24389 - * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of - ELF header flags to after check for ELF object file. Loop through - sections looking for code sections, if none, then skip ABI checks. - -2019-03-30 Andrew Waterman - - * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for - rd == X_RA case. - -2019-03-29 Max Filippov - - * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add - info->export_dynamic to the conditional. - -2019-03-28 Alan Modra - - PR 24392 - * configure.ac: Invoke AC_CHECK_SIZEOF(int). - * configure: Regenerate. - * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic - workaround with SIZEOF_LONG vs. SIZEOF_INT check. - * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise. - * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise. - * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise. - -2019-03-21 Jim Wilson - - PR 24365 - * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check, - verify sym non-NULL before using. Add identical check using h. - -2019-03-21 Sudakshina Das - - * elf-bfd.h (struct elf_backend_data): Add argument to - merge_gnu_properties. - * elf-properties.c (elf_merge_gnu_properties): Add argument to - itself and while calling bed->merge_gnu_properties. - (elf_merge_gnu_property_list): Update the calls for - elf_merge_gnu_properties. - * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling - of --force-bti warning and add argument. - * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add - warning. - * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument. - * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in - declaration. - -2019-03-20 Sudakshina Das - - * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define. - * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare. - (elf_backend_fixup_gnu_properties): Define for AArch64. - -2019-03-18 Alan Modra - - PR 24355 - * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub - for local iplt syms with ent->plt.offset == -1. Remove ineffective - attempt at writing glink stubs only once. - -2019-03-16 Alan Modra - - PR 24337 - * elf.c (_bfd_elf_rela_local_sym): Revert last change. - (_bfd_elf_rel_local_sym): Likewise. - * elflink.c (elf_link_input_bfd): Use bfd_und_section for - section of symbols with unrecognized shndx. - -2019-03-15 H.J. Lu - - PR ld/24267 - * coffgen.c (_bfd_coff_section_already_linked): Skip discarded - section. - * cofflink.c (coff_link_add_symbols): Check for symbols defined - in discarded section. - -2019-03-15 Alan Modra - - PR 24339 - * elflink.c (elf_link_add_object_symbols): Bail out on a local - symbol after globals if elf_bad_symtab is not set. - -2019-03-15 Alan Modra - - PR 24337 - * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec. - (_bfd_elf_rel_local_sym): Likewise. - -2019-03-15 Alan Modra - - PR 24336 - * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed - object files with sh_size not a multiple of sh_entsize. - -2019-03-15 H.J. Lu - - PR ld/24338 - * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt - input with bad relocation. - -22019-03-15 H.J. Lu - - * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent. - -2019-03-14 Nick Clifton - - PR 24334 - * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field. - (save_section_vma): Initialise field to the number of entries in - the sec_vma table. - (section_vma_same): Check that the number of entries in the - sec_vma table matches the number of sections in the bfd. - -2019-03-14 Nick Clifton - - PR 24333 - * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL - section owner pointer when adding the default symbol. - -2019-03-14 Nick Clifton - - PR 24332 - * elflink.c (elf_link_add_object_symbols): Add new local variable - extversym_end. Initialise it to point to the end of the version - symbol table, if present. Check it when initialising and updating - the ever pointer. - -2019-03-13 Sudakshina Das - - * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New. - (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New. - (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs. - (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC - and PLT_PAC_PLT. - (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC. - (get_plt_type): Add case for DT_AARCH64_PAC_PLT. - (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC. - -2019-03-13 Sudakshina Das - Szabolcs Nagy - - * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New. - (aarch64_bti_pac_info): New. - (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument. - (bfd_elf32_aarch64_set_options): Likewise. - * bfd-in2.h: Regenerate - * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New. - (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New. - (elfNN_aarch64_small_plt0_bti_entry): New. - (elfNN_aarch64_small_plt_bti_entry): New. - (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New. - (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields. - (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and - tlsdesc_plt_entry_size fields. - (elfNN_aarch64_link_hash_table_create): Initialise the new fields. - (setup_plt_values): New helper function. - (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and - bti enable type. - (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of - fixed macros. - (elfNN_aarch64_size_dynamic_sections): Likewise and add checks. - (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers - to plt stubs instead of fixed ones and update filling them according - to the need for bti. - (elfNN_aarch64_init_small_plt0_entry): Likewise. - (elfNN_aarch64_finish_dynamic_sections): Likewise. - (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New. - (elfNN_aarch64_plt_sym_val): Update size accordingly. - (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE - is set. - (bfd_elfNN_get_synthetic_symtab): Define. - (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti - and mising BTI NOTE SECTION. - - -2019-03-13 Sudakshina Das - - * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude - linker created inputs from merge. - * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for - GNU_PROPERTY_AARCH64_FEATURE_1_AND properties. - (elfNN_aarch64_link_setup_gnu_properties): New. - (elfNN_aarch64_merge_gnu_properties): New. - (elf_backend_setup_gnu_properties): Define for AArch64. - (elf_backend_merge_gnu_properties): Likewise. - * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define. - (_bfd_aarch64_elf_parse_gnu_properties): Define. - (_bfd_aarch64_elf_merge_gnu_properties): Define. - * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare. - (_bfd_aarch64_elf_parse_gnu_properties): Declare. - (_bfd_aarch64_elf_merge_gnu_properties): Declare. - (elf_backend_parse_gnu_properties): Define for AArch64. - -2019-03-13 H.J. Lu - - PR ld/24322 - * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly - merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK]. - -2019-03-12 Alan Modra - - * coffcode.h (buy_and_read): Delete unnecessary forward decl. Add - nmemb parameter. Use bfd_alloc2. - (coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls. - Delete assertion. - (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2. - (coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls. - * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation - doesn't overflow. - * elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix. - (assign_section_numbers): Style fix. - (swap_out_syms): Use bfd_malloc2. - (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't - overflow. - (_bfd_elf_make_empty_symbol): Style fix. - (elfobj_grok_stapsdt_note_1): Formatting. - * elfcode.h (elf_object_p): Use bfd_alloc2. - (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise. - (elf_slurp_symbol_table): Use bfd_zalloc2. - (elf_slurp_reloc_table): Use bfd_alloc2. - (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2. - * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure - size calculation doesn't overflow. - (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise. - * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise. - * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version. - -2019-03-08 Alan Modra - - PR 24311 - * merge.c (merge_strings): Return secinfo. Don't pad section - to alignment here. - (_bfd_merge_sections): Pad section to alignment here, if input - sections contributing to merged output all pad to alignment. - Formatting. - -2019-03-06 Nick Clifton - - * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol - table pointer. - * coffgen.c (coff_find_nearest_line_with_names): Do not call - _bfd_dwarf2_find_symbol_bias if there is no symbol table available. - -2019-03-01 Andreas Krebbel - - This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335. - 2019-01-14 Maamoun Tarsha - - PR 20113 - * elf32-s390.c (allocate_dynrelocs): Update comment. - -2019-02-28 Tamar Christina - - * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse. - -2019-02-28 Nick Clifton - - PR 24273 - * elf.c (bfd_elf_string_from_elf_section): Check for a string - section that is not NUL terminated. - -2019-02-27 H.J. Lu - - PR ld/24276 - * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined - by linker when checking copy reloc on protected symbol. - -2019-02-24 Alan Modra - - PR 24144 - * pdp11.c (set_section_contents): Revert 2015-02-24 change. - -2019-02-20 Eric Tsai - - * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output - sections between the call site and call destination and adjust - call distance by the largest alignment. - -2019-02-20 Alan Hayward - - * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration. - * elf.c (elfcore_grok_aarch_pauth): New function. - (elfcore_grok_note): Check for NT_ARM_PAC_MASK. - (elfcore_write_aarch_pauth): New function. - (elfcore_write_register_note): Check for AArch64 pauth section. - -2019-02-20 Alan Modra - - PR 24225 - * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf - return value. - -2019-02-20 Michael Roitzsch - - * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all - Darwin hosts, not just or1k. - * configure: Regenerate. - -2019-02-20 Alan Modra - - PR 24236 - * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding - sentinel NUL to string buffer nearer to loop where it is used. - Don't go past sentinel when scanning strings, and don't write - NUL again. - * archive.c (do_slurp_coff_armap): Simplify string handling to - archive64.c style. - -2019-02-19 Alan Modra - - PR 24235 - * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks - attempting to prevent read past end of section. - -2019-02-18 Alan Modra - - PR 24225 - * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and - PRIx64 to generate warning messages. Print local sym names too. - -2019-02-09 Vineet Gupta - - * elf32-arc (INIT_SYM_STRING): Delete. - (FINI_SYM_STRING): Likewise. - (init_str): Likewise. - (fini_str): Likewise. - -2019-02-08 Alan Modra - - * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported - for bss-plt" warning to make it an error. - -2019-02-07 Eric Botcazou - - PR ld/18841 - * elf32-sparc.c (elf32_sparc_reloc_type_class): Return - reloc_class_ifunc for ifunc symbols. - * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise. - -2019-02-07 Eric Botcazou - - * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak. - : Use explicit range test to detect an overflow. - -2019-02-07 Nick Clifton - - * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets - into the definitely obsolete list. - -2019-02-05 H.J. Lu - - PR ld/24151 - * elf64-x86-64.c (elf_x86_64_need_pic): Check - SYMBOL_DEFINED_NON_SHARED_P instead of def_regular. - (elf_x86_64_relocate_section): Move PIC check for PC-relative - relocations to ... - (elf_x86_64_check_relocs): Here. - (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P - to check if a symbol is defined in a non-shared object. - * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New. - -2019-01-21 Sergio Durigan Junior - - * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead - of 'labs' (and fix GCC warning). - -2019-01-25 Nick Clifton - - * po/ru.po: Updated Russian translation. - -2019-01-23 Nick Clifton - - * po/fr.po: Updated French translation. - -2019-01-21 Nick Clifton - - * po/pt.po: Updated Portuguese translation. - * po/uk.po: Updated Ukranian translation. - -2019-01-21 Yuri Chornoivan - - PR 24108 - * elf32-nds32.c (nds32_relocate_section): Add space between words - in error message. - * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in - error message. - (riscv_i_or_e_p): Likewise. - (riscv_merge_arch_attr_info): Likewise. - -2019-01-19 Nick Clifton - - * version.m4: Reset to 2.32.51 - * configure: Regenerate. - * po/bfd.pot: Regenerate. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-16 Kito Cheng - - * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even - for OBJ_ATTR_PROC. - -2019-01-16 Kito Cheng - Nelson Chu - - * elfnn-riscv.c (in_subsets): New. - (out_subsets): Likewise. - (merged_subsets): Likewise. - (riscv_std_ext_p): Likewise. - (riscv_non_std_ext_p): Likewise. - (riscv_std_sv_ext_p): Likewise. - (riscv_non_std_sv_ext_p): Likewise. - (riscv_version_mismatch): Likewise. - (riscv_i_or_e_p): Likewise. - (riscv_merge_std_ext): Likewise. - (riscv_merge_non_std_and_sv_ext): Likewise. - (riscv_merge_arch_attr_info): Likewise. - (riscv_merge_attributes): Likewise. - (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute. - - * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New. - (elf_backend_obj_attrs_vendor): Define. - (elf_backend_obj_attrs_section_type): Likewise. - (elf_backend_obj_attrs_section): Likewise. - (elf_backend_obj_attrs_arg_type): Define as - riscv_elf_obj_attrs_arg_type. - * elfxx-riscv.c (riscv_estimate_digit): New. - (riscv_estimate_arch_strlen1): Likewise. - (riscv_estimate_arch_strlen): Likewise. - (riscv_arch_str1): Likewise. - (riscv_arch_str): Likewise. - * elfxx-riscv.h (riscv_arch_str): Declare. - -2019-01-14 John Darrington - - * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc. - * libbfd.h: regen. - * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero - source field. (md_apply_fix): Apply final fix - to BFD_RELOC_S12Z_OPR. - * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc. - -2019-01-14 Maamoun Tarsha - - PR 20113 - * elf32-s390.c (allocate_dynrelocs): Update comment. - -2019-01-09 Andrew Paprocki - - * warning.m4: Adjust egrep pattern for non-GNU compilers. - * configure: Regenerate. - -2019-01-08 Alan Modra - - PR 23699 - PR 24065 - * ihex.c (ihex_write_object_contents): Properly check 32-bit - address range. - -2019-01-05 Yoshinori Sato - - * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3. - * bfd/bfd-in2.h: Regenerate. - * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry. - * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support. - -2019-01-04 Lifang Xia - - * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky - default target, little endian target is more suitable. - -2019-01-04 Alan Modra - - PR 24061 - PR 21786 - * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and - adjust all callers. - (EQ_VALUE_IN_FIELD): Likewise. - * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise. - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/bfd/ChangeLog-2019 b/bfd/ChangeLog-2019 new file mode 100644 index 00000000000..003f013b415 --- /dev/null +++ b/bfd/ChangeLog-2019 @@ -0,0 +1,3185 @@ +2019-12-31 Alan Modra + + * vms-alpha.c (_bfd_vms_slurp_eisd): Don't overflow when checking + offset. Don't overflow when checking rec_size, and do allow + rec_size to the end of the buffer. Ensure eisd->type can be + accessed, not just the first 32 bytes. Don't call + _bfd_vms_save_counted_string with zero length remaining. Fail + on empty string section name. + (_bfd_vms_slurp_egsd): Formatting. Catch more reads past end + of record size. Correct remaining length calculation. Fail + on empty string section name. Consolidate error paths. + +2019-12-30 Alan Modra + + * vms-alpha.c (alpha_vms_free_private): New function, extracted.. + (vms_close_and_cleanup): ..from here. + (alpha_vms_object_p): Call alpha_vms_free_private on failure. + +2019-12-30 Alan Modra + + * coffgen.c (coff_real_object_p): Free malloc'd memory on failure. + +2019-12-30 Alan Modra + + * archive.c (do_slurp_bsd_armap): Use bfd_alloc rather than + bfd_zalloc when memory is all written after the call. + (do_slurp_coff_armap): Likewise. Set bfd_error on ridiculously + large allocations that overflow bfd_size_type. Use just one + bfd_release on error exit. + (_bfd_slurp_extended_name_table): Use bfd_alloc for extended_names, + clear last byte rather than the entire array. Use bfd_alloc for + string table. Rearrange and simplify code copying file names. + +2019-12-29 Alan Modra + + * vms-alpha.c (_bfd_vms_slurp_egsd): Make base_addr a bfd_vma. + Limit alignment power. Correct and simplify alignment expression. + (evax_bfd_print_relocation_records): Avoid signed shift left. + +2019-12-29 Alan Modra + + * vms-misc.c (_bfd_vms_save_sized_string): Add abfd param, make + size a size_t. Use bfd_alloc rather than bfd_malloc. + (_bfd_vms_save_counted_string): Similarly. + * vms.h (_bfd_vms_save_sized_string): Update prototype. + (_bfd_vms_save_counted_string): Likewise. + * vms-alpha.c (_bfd_vms_slurp_ehdr): Adjust + _bfd_vms_save_counted_string and bfd_vms_save_sized_string calls. + (_bfd_vms_slurp_egsd, parse_module): Likewise. + (_bfd_vms_slurp_eisd): Likewise. Check return status. + (alpha_vms_bfd_link_hash_table_free): New function. + (alpha_vms_bfd_link_hash_table_create): Arrange to call it. + (vms_close_and_cleanup): Free more memory. Don't release tdata. + +2019-12-29 Alan Modra + + * coffcode.h (coff_close_and_cleanup): Redefine to.. + * coffgen.c (_bfd_coff_close_and_cleanup): ..this. New function. + * libcoff-in.h (_bfd_coff_close_and_cleanup): Declare. + * libcoff.h: Regenerate. + +2019-12-29 Hannes Domani + Alan Modra + + PR 15350 + * bfd.c (bfd_update_compression_header): Write zlib header for + formats other than ELF too. + +2019-12-26 Alan Modra + + * som.c (setup_sections): Don't overflow space_strings_size. Use + bfd_malloc2 to catch overflow of size calculation. + (som_prep_for_fixups): Use bfd_zalloc2 to catch overflow of size + calculation. + (som_build_and_write_symbol_table): Similarly use bfd_zmalloc2. + (som_slurp_symbol_table): Similarly use bfd_zmalloc2, bfd_malloc2, + and bfd_zalloc2. + (bfd_som_attach_aux_hdr): Use size_t vars for string length. + (som_bfd_count_ar_symbols): Use bfd_malloc2 to catch overflow of + size calculation. Use size_t vars for length and catch overflow. + (som_slurp_armap): Use bfd_alloc2 to catch overflow of size + calculation. + (som_bfd_ar_write_symbol_stuff): Similarly use bfd_zmalloc2 and + bfd_malloc2. Perform size calculations in bfd_size_type. + +2019-12-26 Hannes Domani + + * peicode.h (pe_bfd_read_buildid): Free data. + +2019-12-23 Alan Modra + + * vms-alpha.c (add_symbol): Add "max" parameter. Error on string + length larger than max. + (_bfd_vms_slurp_egsd): Ensure record is at least large enough to + read string length byte, error if not. Pass size to add_symbol. + (_bfd_vms_slurp_etir): Don't read past end of buffer when reading + type and length. Allow read of last byte in buffer. + +2019-12-23 Alan Modra + + * wasm-module.c (wasm_read_leb128): Don't allow oversize shifts. + Catch value overflow. Sign extend only on terminating byte. + +2019-12-20 Alan Modra + + * xtensa-isa.c (xtensa_insnbuf_from_chars): Avoid signed overflow. + +2019-12-20 Alan Modra + + * libhppa.h (hppa_field_adjust, bfd_hppa_insn2fmt): Delete forward + declaration. Move ATTRIBUTE_UNUSED to definition. + (sign_extend, low_sign_extend, sign_unext, low_sign_unext), + (re_assemble_3, re_assemble_12, re_assemble_14, re_assemble_16), + (re_assemble_17, re_assemble_21, re_assemble_22): Likewise. Make + args and return value unsigned. Use unsigned variables. + (hppa_rebuild_insn): Similarly. + +2019-12-20 Alan Modra + + * format.c (bfd_check_format_matches): Free matching_vector when + not returning matching target strings. + +2019-12-20 Alan Modra + + * coff-alpha.c (alpha_ecoff_read_ar_hdr): Free ar_hdr on error return. + +2019-12-18 Alan Modra + + * coff-rs6000.c (_bfd_xcoff_slurp_armap): Don't overflow when + checking symbol count against section size. Guard against strlen + running off end of buffer by allocating one more byte and zeroing. + * coff64-rs6000.c (xcoff64_slurp_armap): Likewise. + +2019-12-18 Alan Modra + + * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Use size_t for vars. + * elf64-ppc.c (sym_exists_at): Use size_t for lo, hi and mid. + +2019-12-18 Alan Modra + + * elf-bfd.h (ELF_LOCAL_SYMBOL_HASH): Avoid signed overflow. + * elf32-hppa.c (final_link_relocate): Likewise. + * elf32-ppc.c (_bfd_elf_ppc_at_tls_transform): Likewise. + (_bfd_elf_ppc_at_tprel_transform, is_insn_ds_form): Likewise. + (is_insn_dq_form, ppc_elf_relocate_section): Likewise. + * elf64-ppc.c (ok_lo_toc_insn, ppc64_elf_edit_toc): Likewise. + (ppc64_elf_relocate_section): Likewise. + * elfxx-mips.c (mips_elf_perform_relocation): Likewise. + * netbsd.h (N_SET_FLAGS): Likewise. + +2019-12-17 Alan Modra + + * coff-tic80.c: Delete file. + * cpu-tic80.c: Delete file. + * archures.c: Remove tic80 support. + * coffcode.h: Likewise. + * coffswap.h: Likewise. + * targets.c: Likewise. + * config.bfd: Likewise. + * configure.ac: Likewise. + * Makefile.am: Likewise. + * Makefile.in: Regenerate. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2019-12-13 Alan Modra + + PR 25237 + * elf.c: (assign_file_positions_for_load_sections): Attempt to + keep meaningless p_offset for PT_LOAD segments without file + contents within file size. + +2019-12-12 Alan Modra + + * libbfd.c (bfd_get): Don't cast result of bfd_get_8. + * bfd-in2.h: Regenerate. + +2019-12-11 Alan Modra + + * elf32-rx.c (elf32_rx_relax_section): Avoid signed overflow. + * libaout.h (N_SET_INFO, N_SET_FLAGS): Likewise. + * netbsd.h (write_object_contents): Likewise. + * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Likewise. + * libhppa.h (HPPA_R_CONSTANT): Don't signed extend with shifts. + (stm32l4xx_create_replacing_stub_vldm): Don't truncate high bits + with shifts. + * elf32-nds32.h (R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG): Define + using 1u shifted left. Ditto for other macros. + * mmo.c (LOP): Make unsigned. + +2019-12-11 Alan Modra + + * libbfd.c (bfd_get_8): Return a bfd_vma. + (bfd_get_signed_8): Return a bfd_signed_vma. + * bfd-in2.h: Regenerate. + +2019-12-11 Alan Modra + + * xtensa-modules.c (Field_* functions): Don't mask using shifts. + (Operand_soffsetx4_decode, Operand_simm4_decode), + (Operand_simm8_decode, Operand_simm8x256_decode), + (Operand_simm12b_decode, Operand_label8_decode), + (Operand_label12_decode, Operand_soffset_decode), + (Operand_xt_wbr15_label_decode, Operand_xt_wbr18_label_decode): Don't + sign extend using shifts. + (Operand_immrx4_decode, Operand_uimm16x4_decode): Avoid UB in + constant. + +2019-12-11 Alan Modra + + * cpu-ia64-opc.c (ext_imms_scaled): Avoid undefined left shift + of negative values by using unsigned vars. + +2019-12-07 Alan Modra + + PR 25236 + * elflink.c (_bfd_elf_link_assign_sym_version): Assign versions + for ELF_COMMON_DEF_P symbols. + (elf_link_output_extsym, _bfd_elf_add_default_symbol): Adjust to + suit. + +2019-12-05 Sandra Loosemore + + Only give FDE encoding warnings if --eh-frame-hdr was specified. + + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Make + FDE encoding warning conditional. + +2019-12-05 Nick Clifton + + PR 25029 + * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Ignore empty sections + when computing the sizes stored in the headers. + +2019-12-03 Alan Modra + + PR 25230 + * dwarf2.c (struct dwarf2_debug_file): Add line_table and + abbrev_offsets. + (struct abbrev_offset_entry): New. + (hash_abbrev, eq_abbrev, del_abbrev): New functions. + (read_abbrevs): Check whether we have already read abbrevs at + given offset, and add new offset/abbrev to hash table. + (decode_line_info): Keep line table at offset zero in file struct. + Return this for a cu reusing the same dir/file list. + (find_abstract_instance): Find cu for DW_FORM_GNU_ref_alt. + (_bfd_dwarf2_slurp_debug_info): Create offset/abbrev hash tables. + (_bfd_dwarf2_cleanup_debug_info): Adjust deletion of lines and + abbrevs. + +2019-12-03 Alan Modra + + PR 25230 + * dwarf2.c (struct dwarf2_debug_file): New struct. + (struct dwarf2_debug): Delete fields now in dwarf2_debug_file. + Add f, alt fields. + (struct comp_unit): Add file field. + (read_indirect_string, read_indirect_line_string): Adjust to suit. + (read_alt_indirect_string, read_alt_indirect_ref): Likewise. + (read_debug_ranges, find_abstract_instance, read_rangelist): Likewise. + (_bfd_dwarf2_stash_syms, place_sections): Likewise. + (stash_maybe_update_info_hash_tablse): Likewise. + (stash_verify_info_hash_table): Likewise. + (_bfd_dwarf2_slurp_debug_info): Likewise. + (_bfd_dwarf2_find_symbol_bias): Likewise. + (_bfd_dwarf2_find_nearest_line): Likewise. + (_bfd_dwarf2_cleanup_debug_info): Likewise. + (read_abbrevs): Add file param and adjust. Update calls. + (stash_comp_unit): Likewise. + (decode_line_info): Delete stash param and adjust. Update calls. + (comp_unit_find_nearest_line): Likewise. + (comp_unit_maybe_decode_line_info): Likewise. + (comp_unit_find_line): Likewise. + (parse_comp_unit): Add file and info_ptr param and adjust. Update + calls. + +2019-12-03 Alan Modra + + * dwarf2.c (read_indirect_string): Don't duplicate offset check + done in read_section. + (read_indirect_line_string): Likewise. + (read_alt_indirect_string): Likewise. + (read_alt_indirect_ref): Likewise. + (read_abbrevs): Likewise. Free memory on all failure paths. + Use correct unsigned type for pointer difference comparison. + +2019-12-03 Alan Modra + + * dwarf2.c (struct dwarf2_debug): Update comments. Remove sec + and sec_info_ptr. + (_bfd_dwarf2_slurp_debug_info): Don't set sec or sec_info_ptr. + (stash_comp_unit): Likewise. + (read_alt_indirect_ref): Return NULL not FALSE. + +2019-12-03 Alan Modra + + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Correct function comment. + +2019-11-27 Alan Modra + + PR 23652 + * dwarf2.c (_bfd_dwarf2_stash_syms): Break out of loop on finding + matching section. + (_bfd_dwarf2_find_nearest_line): Return an int, with value 2 when + returning info from the symbol table. Do the _bfd_elf_find_function + search also when !found. Call _bfd_dwarf2_stash_syms regardless of + symbols. + * elf64-alpha.c (elf64_alpha_find_nearest_line): Accept dwarf2 + result of 1 only. + * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise. + * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. + * libbfd.h: Regenerate. + +2019-11-27 Alan Modra + + PR 23652 + * dwarf2.c (_bfd_dwarf2_stash_syms): New function. + (_bfd_dwarf2_find_nearest_line): Use it here, passing syms to + _bfd_elf_find_function. Call _bfd_elf_find_function in cases + where _bfd_elf_find_nearest_line would do so. + * elf.c (_bfd_elf_find_nearest_line): Omit _bfd_elf_find_function + for dwarf2. + * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly. Tidy. + * elf32-arm.c (elf32_arm_maybe_function_sym): New function. + (elf_backend_maybe_function_sym): Define. + (arm_elf_find_function, elf32_arm_find_nearest_line): Delete. + (bfd_elf32_find_nearest_line): Don't define. + * elfnn-aarch64.c (elfNN_aarch64_maybe_function_sym): New function. + (elf_backend_maybe_function_sym): Define. + (aarch64_elf_find_function, elfNN_aarch64_find_nearest_line): Delete. + (bfd_elfNN_find_nearest_line): Don't define. + +2019-11-27 Alan Modra + + * elf32-sh.c (sh_reloc): Use a bfd_vma insn. + (sh_reloc ): Divide calculated relocation value + by two before applying to insn. Correct overflow test. + * coff-sh.c (sh_reloc): Likewise. + +2019-11-26 Nick Clifton + + * elf32-sh.c (sh_elf_reloc): Use a signed_vma when checking for a + negative relocated value. + * coff-sh.c (sh_reloc): Likewise. + +2019-11-25 Alan Modra + + * archures.c (bfd_octets_per_byte): Tail call + bfd_arch_mach_octets_per_byte. + * coff-arm.c (OCTETS_PER_BYTE): Define. + (coff_arm_reloc): Introduce new "octets" temp. Use OCTETS_PER_BYTE + with section. Correct "addr". Remove ATTRIBUTE_UNUSED. + * coff-i386.c (coff_i386_reloc): Similarly. + * coff-mips.c (mips_reflo_reloc): Similarly. + * coff-x86_64.c (coff_amd64_reloc): Similarly. + * elf32-msp430.c (OCTETS_PER_BYTE): Define. + (rl78_sym_diff_handler): Use OCTETS_PER_BYTE, with section. + * elf32-nds32.c (nds32_elf_get_relocated_section_contents): Similarly. + * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Similarly. + * elf32-pru.c (pru_elf32_do_ldi32_relocate): Similarly. + * elf32-s12z.c (opru18_reloc): Similarly. + * elf32-sh.c (sh_elf_reloc): Similarly. + * elf32-spu.c (spu_elf_rel9): Similarly. + * elf32-xtensa.c (bfd_elf_xtensa_reloc): Similarly. + * elf64-ppc.c (ppc64_elf_ha_reloc, ppc64_elf_brtaken_reloc), + (ppc64_elf_toc64_reloc): Similarly. + * bfd.c (bfd_get_section_limit): Pass section to bfd_octets_per_byte. + * cofflink.c (_bfd_coff_link_input_bfd), + (_bfd_coff_reloc_link_order): Likewise. + * elf.c (_bfd_elf_section_offset): Likewise. + * elflink.c (resolve_section, bfd_elf_perform_complex_relocation), + (elf_link_input_bfd, elf_reloc_link_order, elf_fixup_link_order), + (bfd_elf_final_link): Likewise. + * elf.c (_bfd_elf_make_section_from_shdr): Don't strncmp twice + to set SEC_ELF_OCTETS. + * reloc.c (bfd_perform_relocation): Tidy SEC_ELF_OCTETS special case. + (bfd_install_relocation): Likewise. + (_bfd_final_link_relocate): Don't recalculate octets. + * syms.c (_bfd_stab_section_find_nearest_line): Introduc new + "octets" temp. + * bfd-in2.h: Regenerate. + +2019-11-25 Christian Eggers + + * section.c (struct bfd_section): New flag SEC_ELF_OCTETS. + * archures.c (bfd_octets_per_byte): New parameter sec. + If section is not NULL and SEC_ELF_OCTETS is set, one octet es + returned [ELF targets only]. + * bfd.c (bfd_get_section_limit): Provide section parameter to + bfd_octets_per_byte. + * bfd-in2.h: regenerate. + * binary.c (binary_set_section_contents): Move call to + bfd_octets_per_byte into section loop. Provide section parameter + to bfd_octets_per_byte. + * coff-arm.c (coff_arm_reloc): Provide section parameter + to bfd_octets_per_byte. + * coff-i386.c (coff_i386_reloc): likewise. + * coff-mips.c (mips_reflo_reloc): likewise. + * coff-x86_64.c (coff_amd64_reloc): likewise. + * cofflink.c (_bfd_coff_link_input_bfd): likewise. + (_bfd_coff_reloc_link_order): likewise. + * elf.c (_bfd_elf_section_offset): likewise. + (_bfd_elf_make_section_from_shdr): likewise. + Set SEC_ELF_OCTETS for sections with names .gnu.build.attributes, + .debug*, .zdebug* and .note.gnu*. + * elf32-msp430.c (rl78_sym_diff_handler): Provide section parameter + to bfd_octets_per_byte. + * elf32-nds.c (nds32_elf_get_relocated_section_contents): likewise. + * elf32-ppc.c (ppc_elf_addr16_ha_reloc): likewise. + * elf32-pru.c (pru_elf32_do_ldi32_relocate): likewise. + * elf32-s12z.c (opru18_reloc): likewise. + * elf32-sh.c (sh_elf_reloc): likewise. + * elf32-spu.c (spu_elf_rel9): likewise. + * elf32-xtensa.c (bfd_elf_xtensa_reloc): likewise + * elf64-ppc.c (ppc64_elf_brtaken_reloc): likewise. + (ppc64_elf_addr16_ha_reloc): likewise. + (ppc64_elf_toc64_reloc): likewise. + * elflink.c (bfd_elf_final_link): likewise. + (bfd_elf_perform_complex_relocation): likewise. + (elf_fixup_link_order): likewise. + (elf_link_input_bfd): likewise. + (elf_link_sort_relocs): likewise. + (elf_reloc_link_order): likewise. + (resolve_section): likewise. + * linker.c (_bfd_generic_reloc_link_order): likewise. + (bfd_generic_define_common_symbol): likewise. + (default_data_link_order): likewise. + (default_indirect_link_order): likewise. + * srec.c (srec_set_section_contents): likewise. + (srec_write_section): likewise. + * syms.c (_bfd_stab_section_find_nearest_line): likewise. + * reloc.c (_bfd_final_link_relocate): likewise. + (bfd_generic_get_relocated_section_contents): likewise. + (bfd_install_relocation): likewise. + For section which have SEC_ELF_OCTETS set, multiply output_base + and output_offset with bfd_octets_per_byte. + (bfd_perform_relocation): likewise. + +2019-11-21 Alan Modra + + * elf32-arm.c (elf32_arm_size_stubs): Exclude dynamic library + BFDs that have not been loaded. + +2019-11-19 Alan Modra + + PR 25197 + * coffgen.c (coff_find_nearest_line_with_names): Check that C_FILE + u.syment.n_value does point at another C_FILE sym and not into + some auxent that happens to look like a C_FILE. Properly check + for integer overflow and avoid possible pointer wrap-around. + Simplify pr17512 checks. + +2019-11-19 Alan Modra + + PR 25200 + * reloc.c (bfd_default_reloc_type_lookup): Don't BFD_FAIL. + * elf.c (_bfd_elf_validate_reloc): Don't segfault on NULL howto. + +2019-11-18 Alan Modra + + * elf-bfd.h (struct elf_backend_data ): + Rename from elf_backend_post_process_headers. + (_bfd_elf_post_process_headers): Delete. + (_bfd_elf_init_file_header): Declare. + * elf.c (_bfd_elf_compute_section_file_positions): Call new function + in place of prep_headers and elf_backend_post_process_headers. + (_bfd_elf_init_file_header): Renamed from prep_headers with + updated args and made global. Delete dead code. + (_bfd_elf_post_process_headers): Delete. + * elf32-arm.c (elf32_arm_init_file_header): Rename from + elf32_arm_post_process_headers and call _bfd_elf_init_file_header. + Return status. + (elf_backend_init_file_header): Define. + (elf_backend_post_process_headers): Don't define. + * elf32-i386.c (elf_i386_fbsd_init_file_header): Similarly. + * elf32-m68hc1x.c (elf32_m68hc11_init_file_header): Similarly. + * elf32-metag.c (elf_metag_init_file_header): Similarly. + * elf32-spu.c (spu_elf_init_file_header + * elf32-visium.c (visium_elf_init_file_header + * elf64-alpha.c (elf64_alpha_fbsd_init_file_header + * elf64-hppa.c (elf64_hppa_init_file_header + * elf64-ia64-vms.c (elf64_vms_init_file_header + * elfnn-aarch64.c (elfNN_aarch64_init_file_header + * elfnn-ia64.c (elfNN_hpux_init_file_header + * elfxx-mips.c (_bfd_mips_init_file_header + * elfxx-mips.h (_bfd_mips_post_process_headers): Delete. + (_bfd_mips_init_file_header): Declare. + (elf_backend_post_process_headers): Delete. + (elf_backend_init_file_header): Define. + * elfxx-target.h (elf_backend_post_process_headers): Delete. + (elf_backend_init_file_header): Define and use. + * elf32-m68hc12.c (elf_backend_init_file_header): Define. + (elf_backend_post_process_headers): Don't define. + * elf32-m68hc1x.h (elf32_m68hc11_post_process_headers): Delete. + (elf32_m68hc11_init_file_header): Declare. + * elf32-ppc.c (elf_backend_post_process_headers): Remove + unnecessary undef. + +2019-11-18 Alan Modra + + * elf-bfd.h (struct elf_backend_data ): + Rename from elf_backend_modify_program_headers. + (_bfd_elf_modify_headers): Declare. + * elf.c (assign_file_positions_except_relocs): Set + elf_program_header_size. Always call elf_backend_modify_headers. + Extract code modifying file header.. + (_bfd_elf_modify_headers): ..to here. New function. + * elf32-arm.c (elf_backend_modify_headers): Renamed from + elf_backend_modify_program_headers. + * elf32-i386.c: Similarly. + * elf64-x86-64.c: Similarly. + * elfxx-target.h: Similarly. Default elf_backend_modify_headers + to _bfd_elf_modify_headers. + * elf-nacl.h (nacl_modify_headers): Rename from + nacl_modify_program_headers. + * elf-nacl.c (nacl_modify_headers): Rename from + nacl_modify_program_headers and call _bfd_elf_modify_headers. + * elf32-rx.c (elf32_rx_modify_headers): Similarly. + * elf32-spu.c (spu_elf_modify_headers): Similarly. + * elfnn-ia64.c (elfNN_ia64_modify_headers): Similarly. + * elf32-sh.c (elf_backend_modify_program_headers): Don't undef. + +2019-11-18 Alan Modra + + PR 25196 + * bfd.c (bfd_error_type): Add bfd_error_sorry. + (bfd_errmsgs): Likewise. + * elf.c (rewrite_elf_program_header): Don't abort on confused + lma/alignment. Replace bfd_error_bad_value with bfd_error_sorry. + (_bfd_elf_validate_reloc): Use bfd_error_sorry. + (_bfd_elf_final_write_processing): Likewise. + * bfd-in2.h: Regenerate. + +2019-11-12 Jim Wilson + + PR 25181 + * elfnn-riscv.c (_bfd_riscv_relax_call): Always add max_alignment to + foff. If sym_sec->output_section and sec->output_section are the same + and not *ABS* then set max_alignment to that section's alignment. + +2019-11-07 Alan Modra + + * cpu-cr16c.c: Delete. + * elf32-cr16c.c: Delete. + * Makefile.am, + * archures.c, + * config.bfd, + * configure.ac, + * reloc.c, + * targets.c: Remove cr16c support. + * Makefile.in, + * bfd-in2.h, + * configure, + * libbfd.h, + * po/SRC-POTFILES.in: Regenerate. + +2019-11-05 Tim Rühsen + + * doc/chew.c (add_to_definition): Use correct type when + calculating size of array reallocation. + (nextword): Always initialise the word return parameter. + (compile): Check return value of nextword(). + +2019-10-30 Keith Seitz + + * elf-bfd.h (elf_backend_data) : + New field. + (_bfd_elf32_core_find_build_id, _bfd_elf64_core_find_build_id): + New functions. + (elf_read_notes): Add declaration. + * elf.c (elf_read_notes): Move elf-bfd.h. + (_bfd_elf_core_find_build_id): New function. + (bfd_section_from_phdr): Scan core file PT_LOAD segments for + build-id if none is known. + (elf_parse_notes): For core files, scan for notes. + * elfcore.h (elf_core_file_matches_executable_p): If both + BFDs have identical build-ids, then they match. + (_bfd_elf_core_find_build_id): New function. + * elfxx-target.h (elf_backend_core_find_build_id): Define. + (elfNN_bed): Add elf_backend_core_find_build_id. + +2019-10-29 Andrew Eikum + + * libcoff-in.h (struct pe_tdata): Add dos_message field. + * libcoff.h: Regenerate. + * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Copy the + dos_message field rather than initialising it. + (_bfd_XX_bfd_copy_private_bfd_data_common): Copy the dos_message + field. + * peicode.h (pe_mkobject): Initialise the dos_message field. + (pe_mkobject_hook): Copy the dos_message field. + (pe_bfd_object_p): Copy the dos_message field. + +2019-10-25 Alan Modra + + PR 4499 + * elf-nacl.c (nacl_modify_segment_map): Set no_sort_lma for all + PT_LOAD segments. + * elf32-spu.c (spu_elf_modify_segment_map): Likewise on overlay + PT_LOAD segments. + * elf.c (elf_sort_segments): New function. + (assign_file_positions_except_relocs): Use shortcuts to elfheader + and elf_tdata. Seek to e_phoff not sizeof_ehdr to write program + headers. Move PT_PHDR check.. + (assign_file_positions_for_non_load_sections): ..and code setting + PT_PHDR p_vaddr and p_paddr, and code setting __ehdr_start value.. + (assign_file_positions_for_load_sections): ..to here. Sort + PT_LOAD headers. Delete header_pad code. Use actual number of + headers rather than allocated in calculating size for program + headers. Don't assume program headers follow ELF file header. + Simplify pt_load_count code. Only set "off" for PT_LOAD or + PT_NOTE in cores. + (rewrite_elf_program_header): Set p_vaddr_offset for segments + that include file and program headers. + (copy_elf_program_header): Likewise, replacing header_size code. + +2019-10-21 Alan Modra + + PR 452 + * archive.c (normalize): Return file unchanged when + BFD_ARCHIVE_FULL_PATH. + (_bfd_construct_extended_name_table): Pass abfd, the output + bfd, to normalize. + (_bfd_archive_bsd44_construct_extended_name_table): Likewise. + * bfd.c (struct bfd): Make flags a full flagword. + (BFD_ARCHIVE_FULL_PATH): Define. + * bfd-in2.h: Regenerate. + +2019-10-20 John David Anglin + + * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Provide 8-byte + minimum alignment for .plt section. + +2019-10-19 John David Anglin + + * elf32-hppa.c: Revise import stub sequences. + (LONG_BRANCH_STUB_SIZE): Define. + (LONG_BRANCH_SHARED_STUB_SIZE): Define. + (IMPORT_STUB_SIZE): Define. + (IMPORT_SHARED_STUB_SIZE): Define. + (EXPORT_STUB_SIZE): Define. + (plt_stub): Revise to not use register %r22. + (LDO_R1_R22): Define. + (LDW_R22_R21): Define. + (LDW_R22_R19): Define. + (hppa_build_one_stub): Update stub generation and use new defines. + (hppa_size_one_stub): Likewise. + +2019-10-17 Nelson Chu + + * elfnn-riscv.c (riscv_elf_relocate_section): Report the error message + that user should recompile their code with `fPIC` when linking non-pic + code into shared library. + + * elfnn-riscv.c (riscv_elf_relocate_section): Use asprintf to extend + the error message if needed, and then store the result into the + `msg_buf`. Finally, remember to free the unused `msg_buf`. All error + message for the dangerous relocation should be set before we call the + callback function. If we miss the error message since linker runs out + of memory, we should set the default error message for the error. + +2019-10-16 Alan Modra + + PR 13616 + * cpu-powerpc.c (bfd_arch_ppc_nop_fill): New function, use it + for all ppc arch info. + * linker.c (default_data_link_order): Pass info->big_endian to + arch_info->fill function. + +2019-10-15 Alan Modra + + * elf32-m68hc1x.c (reloc_warning): Add printf attribute. + (elf32_m68hc11_relocate_section): Don't use a variable for format + strings. Delete some unnecessary xgettext:c-format comments. + +2019-10-15 Alan Modra + + PR 24955 + * elf32-arm.c (set_cmse_veneer_addr_from_implib): Use bfd_malloc + rather than xmalloc. + * elf32-m68hc1x.c (reloc_warning): New function. + (elf32_m68hc11_relocate_section): Use it here. Cast bfd_vma values + corresponding to %lx in format strings. + * elf32-nds32.c (nds32_insertion_sort): Use a stack temporary. + +2019-10-15 Alan Modra + + PR 25100 + * elf64-ppc.c (sfpr_define): Delete dead code that triggered a warning. + +2019-10-15 Alan Modra + + * bfd.c (bfd_check_compression_header): Check for powers of two + with x == (x & -x). + +2019-10-14 Alan Modra + + * syms.c (struct indexentry): Add idx field. + (cmpindexentry): Final sort on idx. + (_bfd_stab_section_find_nearest_line): Set idx. + +2019-10-14 Alan Modra + + * dwarf2.c (struct lookup_funcinfo): Add idx field. + (compare_lookup_funcinfos): Perform final sort on idx. + (build_lookup_funcinfo_table): Set idx. + (compare_sequences): Perform final sort on num_lines. + (build_line_info_table): Set num_lines and line_info_lookup earlier. + (sort_line_sequences): Set num_lines for sort. + +2019-10-14 Alan Modra + + * elflink.c (elf_sort_symbol): Sort on type and name as well. + (elf_link_add_object_symbols): Style fix. + +2019-10-14 Alan Modra + + * elf.c (_bfd_elf_map_sections_to_segments): Init target_index + for sections about to be sorted. + (assign_file_positions_for_load_sections): Likewise. + (elf_sort_sections): Don't bother optimising both TOEND case. + * elflink.c (bfd_elf_final_link): Reset target_index. + +2019-10-14 Alan Modra + + * elflink.c (elf_get_linked_section_vma): Delete. + (compare_link_order): Use elf_linked_to_section and sort by lma, + size, and id. + (elf_fixup_link_order): Use size_t variables where appropriate. + Make use of elf_linked_to_section. Formatting. Properly align + sections. + +2019-10-14 Alan Modra + + * elf-strtab.c (strrevcmp): Comment. + * merge.c (strrevcmp): Likewise. + * elf64-ppc.c (compare_symbols): Correct final pointer comparison. + Comment on why comparing pointers ensures a stable sort. + * elflink.c (struct elf_symbol): Add void* to union. + (elf_sort_elf_symbol): Ensure a stable sort with pointer comparison. + (elf_sym_name_compare): Likewise. + (bfd_elf_match_symbols_in_sections): Style fix. + (elf_link_sort_cmp1): Comment. + +2019-10-14 Alan Modra + + PR 24955 + * elflink.c (elf_output_implib): Don't use xmalloc. Don't ignore + return value of bfd_alloc2. + * peXXigen.c (_bfd_XXi_write_codeview_record): Don't use xmalloc. + * pef.c (bfd_pef_print_symbol): Likewise. Don't ignore return + value of bfd_get_section_contents. + * som.c (som_write_space_strings): Don't use xmalloc. + (som_write_symbol_strings): Likewise. + +2019-10-11 Max Filippov + + * dwarf2.c (stash_maybe_enable_info_hash_tables): Only set + stash->info_hash_status = STASH_INFO_HASH_ON when + stash_maybe_update_info_hash_tables succeeds. + +2019-10-09 Alan Modra + + PR 25070 + * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Catch overflow of + total_size calculation. + +2019-10-08 Alan Modra + + PR 25078 + * dwarf2.c (find_abstract_instance): Delete orig_info_ptr, add + recur_count. Error on recur_count reaching 100 rather than + info_ptr matching orig_info_ptr. Adjust calls. + +2019-10-07 Jozef Lawrynowicz + + * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Rename to.. + (elf32_msp430_merge_msp430_attributes): Add support for merging + the GNU object attribute for data region. + +2019-10-07 Alan Modra + + * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Do allocate + space for local got non-tls relocs when PIE. + +2019-10-07 Alan Modra + + * elflink.c (elf_fixup_link_order): Don't attempt to find + an elf_section for linker created bfd sections. + +2019-10-07 Alan Modra + + * elf32-ppc.c (ppc_elf_tls_optimize): Don't process R_PPC_TLSLD + with non-local symbol. Don't double count __tls_get_addr calls + with marker relocs. + * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise. + +2019-10-07 Alan Modra + + * elf32-ppc.c (nomark_tls_get_addr): Rename from has_tls_get_addr_call + throughout. + * elf64-ppc.c (nomark_tls_get_addr): Likewise. + +2019-10-04 Alan Modra + + * elf64-ppc.c (ppc64_elf_check_relocs): Move initialisation of vars. + (ppc64_elf_tls_optimize): Correct is_local condition. + (allocate_got): Don't reserve dynamic relocations for any of the + tls got relocs in PIEs when the symbol is local. + (allocate_dynrelocs): Correct validity test for local sym using + tlsld_got slot. + (ppc64_elf_size_dynamic_sections): Don't reserve dynamic relocations + for any of the tls got relocs in PIEs. + (ppc64_elf_layout_multitoc): Likewise. + (ppc64_elf_relocate_section): Correct validity test for local sym + using tlsld_got slot. Don't emit dynamic relocations for any of + the tls got relocs in PIEs when the symbol is local. + * elf32-ppc.c (ppc_elf_tls_optimize): Correct is_local condition. + (got_relocs_needed): Delete. + (allocate_dynrelocs): Correct validity test for local sym using + tlsld_got slot. Don't reserve dynamic relocations for any of the + tls got relocs in PIEs when the symbol is local. + (ppc_elf_size_dynamic_sections): Don't reserve dynamic relocations + for any of the tls got relocs in PIEs. + (ppc_elf_relocate_section): Correct validity test for local sym + using tlsld_got slot. Don't emit dynamic relocations for any of + the tls got relocs in PIEs when the symbol is local. + +2019-10-04 Szabolcs Nagy + + PR ld/22263 + PR ld/25056 + * elf32-arm.c (elf32_arm_tls_transition): Use bfd_link_dll instead of + bfd_link_pic for TLS checks. + (elf32_arm_final_link_relocate): Likewise. + (allocate_dynrelocs_for_symbol): Likewise. + +2019-10-04 Szabolcs Nagy + + PR ld/25062 + * elf32-arm.c (elf32_arm_final_link_relocate): Sign extend data. + +2019-09-30 Nick Alcock + + * elf-bfd.h (bfd_section_is_ctf): New inline function. + * elf.c (special_sections_c): Add ".ctf". + (assign_file_positions_for_non_load_sections): Note that + compressed debugging sections etc are not assigned here. Treat + CTF sections like SEC_ELF_COMPRESS sections when is_linker_output: + sh_offset -1. + (assign_file_positions_except_relocs): Likewise. + (find_section_in_list): Note that debugging and CTF sections, as + well as reloc sections, are assigned later. + (_bfd_elf_assign_file_positions_for_non_load): CTF sections get + their size and contents updated. + (_bfd_elf_set_section_contents): Skip CTF sections: unlike + compressed sections, they have no uncompressed content to copy at + this stage. + * elflink.c (elf_link_swap_symbols_out): Call the examine_strtab + callback right before the strtab is written out. + (bfd_elf_final_link): Don't cache the section contents of CTF + sections: they are not populated yet. Call the emit_ctf callback + right at the end, after all the symbols and strings are flushed + out. + +2019-07-13 Nick Alcock + + * elf-strtab.c (_bfd_elf_strtab_len): New. + (_bfd_elf_strtab_str): Likewise. + * bfd-elf.h: Declare them. + +2019-07-13 Nick Alcock + + * elf-bfd.h (bfd_elf_get_str_section): Add. + * elf.c (bfd_elf_get_str_section): No longer static. + +2019-09-26 Alan Modra + + PR 24262 + * Makefile.am (AM_CPPFLAGS): Add -DLIBDIR. + * plugin.c (load_plugin): Search both ${libdir}/bfd-plugins and + ${bindir}/../lib/bfd-plugins if different. + * Makefile.in: Regenerate. + +2019-09-23 Alan Modra + + * elf64-ppc.c (ppc64_elf_check_relocs): Use bfd_link_executable + in choosing between different actions for shared library and + non-shared library cases. Delete ELIMINATE_COPY_RELOCS test. + (dec_dynrel_count): Likewise. Account for ifunc special case. + (ppc64_elf_adjust_dynamic_symbol): Copy relocs are for executables, + not non-pic. + (allocate_dynrelocs): Comment fixes. Delete ELIMINATE_COPY_RELOCS + test. + +2019-09-23 Alan Modra + + * Makefile.am (SOURCE_HFILES): Add many missing .h files. + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h (bfd_symbol, bfd_section_already_linked), + (bfd_elf_version_tree): Delete forward declarations. + Move other forward decls and remaining elf function decl later. + (bfd_section_already_linked_table_init), + (bfd_section_already_linked_table_free), + (_bfd_handle_already_linked, _bfd_nearby_section), + (_bfd_fix_excluded_sec_syms): Move to bfdlink.h. + +2019-09-23 Alan Modra + + * bfd-in.h: Move ecoff function declarations.. + * ecoff-bfd.h: ..to here, new file. + * ecoff.c: Include ecoff-bfd.h. + * ecofflink.c: Likewise. + * elf64-alpha.c: Likewise. + * elfxx-mips.c: Likewise. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h (enum notice_asneeded_action): Move to bfdlink.h. + Move most other elf declarations.. + * elf-bfd.h: ..to here. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move m68k function declaration.. + * cpu-m68k.h: ..to here, new file.. + * elf32-m68k.h: ..and here, new file. + * elf32-m68k.c: Include cpu-m68k.h and elf32-m68k.h. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move bfin function declaration.. + * elf32-bfin.h: ..to here, new file. + * elf32-bfin.c: Include elf32-bfin.h. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move cr16 function declaration.. + * elf32-cr16.h: ..to here, new file. + * elf32-cr16.c: Include elf32-cr16.h. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h (bfd_sunos_get_needed_list), + (bfd_sunos_record_link_assignment), + (bfd_sunos_size_dynamic_sections), + (bfd_i386linux_size_dynamic_sections), + (bfd_sparclinux_size_dynamic_sections): Delete obsolete decls. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move xcoff function declarations.. + * xcofflink.h: ..to here, new file. + * xcofflink.c: Include xcofflink.h. + * coff-rs6000.c (bfd_xcoff_ar_archive_set_magic): Delete unused func. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Delete coff forward refs and move coff declaration.. + * coff-bfd.h: ..to here. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move arm declaraions.. + * cpu-arm.h: ..to here, new file.. + * coff-arm.h: ..and here, new file.. + * elf32-arm.h: ..and here, new file. + * cpu-arm.c: Include cpu-arm.h. + * coff-arm.c: Include cpu-arm.h and coff-arm.h. + * elf32-arm.c: Include cpu-arm.h and elf32-arm.h. + * pe-arm.c: Move function rename defines later. + * pe-arm-wince.c: Likewise and include sysdep.h and bfd.h early. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move tic6x function declaration.. + * elf32-tic6x.h: ..to here. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move aarch64 declarations and defines.. + * cpu-aarch64.h: ..to here, new file.. + * elfxx-aarch64.h: ..and here. + * cpu-aarch64.c: Include cpu-aarch64.h. + * elfnn-aarch64.c: Likewise. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Delete ticoff function declarations. + * coff-tic54x.c (bfd_ticoff_set_section_load_page), + (bfd_ticoff_get_section_load_page): Make static. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move h8300 function declaration to.. + * cpu-h8300.h: ..here, new file. + * cpu-h8300.c: Include cpu-h8300.h. + * elf32-h8300.c: Likewise. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move ia64 function declarations.. + * elfxx-ia64.h: ..to here. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move v850 function declarations.. + * elf32-v850.h: ..to here, new file. + * elf32-v850.c: Include elf32-v850.h. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move mips function declaration to.. + * elfxx-mips.h: ..here. + * bfd-in2.h: Regenerate. + +2019-09-23 Alan Modra + + * bfd-in.h: Move csky function declarations to.. + * elf32-csky.h: ..here, new file. + * elf32-csky.c: Include elf32-csky.h. + * bfd-in2.h: Regenerate. + +2019-09-20 Nelson Chu + + * elfnn-riscv.c (riscv_pcgp_hi_reloc): Add new field undefined_weak. + (riscv_record_pcgp_hi_reloc): New parameter undefined_weak. + Set undefined_weak field from it. + (relax_func_t): New parameter undefined_weak. + (_bfd_riscv_relax_call): New ignored parameter undefined_weak. + (_bfd_riscv_relax_tls_le): Likewise. + (_bfd_riscv_relax_align): Likewise. + (_bfd_riscv_relax_delete): Likewise. + (_bfd_riscv_relax_lui): New parameter undefined_weak. If true, + allow relaxing. For LO12* relocs, set rs1 to x0 when undefined_weak. + (_bfd_riscv_relax_pc): New parameter undefined_weak. For LO12* relocs, + set undefined_weak from hi_reloc. If true, allow relaxing. For LO12* + relocs, set rs1 to x0 when undefined_weak and change to non-pcrel + reloc. + (_bfd_riscv_relax_section): New local undefined_weak. Set for + undef weak relocs that can be relaxed. Pass to relax_func call. + +2019-09-20 Alan Modra + + * bfd-in.h (bfd_section_name, bfd_section_size, bfd_section_vma), + (bfd_section_lma, bfd_section_alignment, bfd_section_flags), + (bfd_section_userdata, bfd_is_com_section, discarded_section), + (bfd_get_section_limit_octets, bfd_get_section_limit): Delete macros. + * bfd.c (bfd_get_section_limit_octets, bfd_get_section_limit), + (bfd_section_list_remove, bfd_section_list_append), + (bfd_section_list_prepend, bfd_section_list_insert_after), + (bfd_section_list_insert_before, bfd_section_removed_from_list): + New inline functions. + * section.c (bfd_is_und_section, bfd_is_abs_section), + (bfd_is_ind_section, bfd_is_const_section, bfd_section_list_remove), + (bfd_section_list_append, bfd_section_list_prepend), + (bfd_section_list_insert_after, bfd_section_list_insert_before), + (bfd_section_removed_from_list): Delete macros. + (bfd_section_name, bfd_section_size, bfd_section_vma), + (bfd_section_lma, bfd_section_alignment, bfd_section_flags), + (bfd_section_userdata, bfd_is_com_section, bfd_is_und_section), + (bfd_is_abs_section, bfd_is_ind_section, bfd_is_const_section), + (discarded_section): New inline functions. + * bfd-in2.h: Regenerate. + +2019-09-20 Alan Modra + + * bfd-in.h (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name), + (bfd_asymbol_bfd, bfd_asymbol_flavour, bfd_set_asymbol_name): Delete. + * bfd.c (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name), + (bfd_asymbol_bfd, bfd_set_asymbol_name): New inline functions. + * targets.c (bfd_asymbol_flavour): Likewise. + * bfd-in2.h: Regenerate. + +2019-09-20 Alan Modra + + * archive.c (bfd_generic_archive_p): Use bfd_set_thin_archive. + * bfd-in.h (bfd_get_filename, bfd_get_cacheable, bfd_get_format), + (bfd_get_target, bfd_get_flavour, bfd_family_coff, bfd_big_endian), + (bfd_little_endian, bfd_header_big_endian, bfd_header_little_endian), + (bfd_get_file_flags, bfd_applicable_file_flags), + (bfd_applicable_section_flags, bfd_has_map, bfd_is_thin_archive), + (bfd_valid_reloc_types, bfd_usrdata, bfd_get_start_address), + (bfd_get_symcount, bfd_get_outsymbols, bfd_count_sections), + (bfd_get_dynamic_symcount, bfd_get_symbol_leading_char): Delete. + * bfd/bfd.c (bfd_get_filename, bfd_get_cacheable, bfd_get_format), + (bfd_get_file_flags, bfd_get_start_address, bfd_get_symcount), + (bfd_get_dynamic_symcount, bfd_get_outsymbols, bfd_count_sections), + (bfd_has_map, bfd_is_thin_archive, bfd_set_thin_archive), + (bfd_usrdata, bfd_set_usrdata): New inline functions. + * targets.c (bfd_get_target, bfd_get_flavour), + (bfd_applicable_file_flags, bfd_family_coff, bfd_big_endian), + (bfd_little_endian, bfd_header_big_endian), + (bfd_header_little_endian, bfd_applicable_section_flags), + (bfd_get_symbol_leading_char): New inline functions. + * bfd-in2.h: Regenerate. + +2019-09-20 Alan Modra + + * elf64-ppc.c (ppc64_glibc_dynamic_reloc): New function. + (ppc64_elf_relocate_section): Warn if emitting unsupported dynamic + relocations. + +2019-09-18 Alan Modra + + * bfd-in.h (bfd_get_section_name, bfd_get_section_vma), + (bfd_get_section_lma, bfd_get_section_alignment), + (bfd_get_section_size, bfd_get_section_flags), + (bfd_get_section_userdata): Delete. + (bfd_section_name, bfd_section_size, bfd_section_vma), + (bfd_section_lma, bfd_section_alignment): Lose bfd parameter. + (bfd_section_flags, bfd_section_userdata): New. + (bfd_is_com_section): Rename parameter. + * section.c (bfd_set_section_userdata, bfd_set_section_vma), + (bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section), + (bfd_set_section_size): Delete bfd parameter, rename section parameter. + (bfd_set_section_lma): New. + * bfd-in2.h: Regenerate. + * mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param, + update callers. + * aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c, + * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c, + * compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h, + * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c, + * elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c, + * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c, + * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c, + * elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c, + * elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c, + * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c, + * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c, + * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c, + * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, + * elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c, + * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c, + * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c, + * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, + * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c, + * elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c, + * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c, + * elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c, + * elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c, + * elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c, + * mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c, + * peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c, + * xcofflink.c: Update throughout for bfd section macro and function + changes. + +2019-09-18 Alan Modra + + * bfd-in.h (bfd_asymbol_section): Rename from bfd_get_section. + (bfd_get_output_section): Delete. + (bfd_asymbol_base): Delete. + (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name), + (bfd_asymbol_bfd, bfd_asymbol_flavour): Tidy. + (bfd_set_asymbol_name): New macro. + * bfd-in2.h: Regenerate. + * aout-cris.c: Update throughout to use bfd_asymbol_section. + * aoutx.h: Likewise. + * cofflink.c: Likewise. + * dwarf2.c: Likewise. + * ecoff.c: Likewise. + * elf.c: Likewise. + * elf32-arm.c: Likewise. + * elf32-mips.c: Likewise. + * elf32-score.c: Likewise. + * elf32-score7.c: Likewise. + * elfn32-mips.c: Likewise. + * elfnn-aarch64.c: Likewise. + * elfxx-mips.c: Likewise. + * linker.c: Likewise. + * pdp11.c: Likewise. + * elf64-mmix.c (mmix_elf_reloc): Part expand bfd_get_output_section. + +2019-09-18 Simon Marchi + + * Makefile.in: Re-generate. + * configure: Re-generate. + * doc/Makefile.in: Re-generate. + +2019-09-18 Alan Modra + + * aoutx.h (slurp_symbol_table): Don't set symcount using bfd_get + macros. + * pdp11.c (slurp_symbol_table): Likewise. + * som.c (som_slurp_symbol_table): Likewise. + * coff-ppc.c (ppc_bfd_coff_final_link): Likewise. + * coffcode.h (coff_slurp_symbol_table): Likewise. + * cofflink.c (_bfd_coff_final_link): Likewise. + * ecoff.c (ecoff_slurp_symbolic_header): Likewise. + (_bfd_ecoff_slurp_symbolic_info): Likewise. + (_bfd_ecoff_slurp_symbol_table): Likewise. + (_bfd_ecoff_bfd_final_link): Likewise. + * elf.c (_bfd_elf_canonicalize_symtab): Likewise. + * elflink.c (elf_link_output_symstrtab): Likewise. + (bfd_elf_final_link): Likewise. + * peicode.h (pe_ILF_build_a_bfd): Likewise. + * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. + * aoutx.h (some_aout_object_p, slurp_symbol_table): Don't set + start_address or symcount using bfd_get macros. + * coffgen.c (coff_real_object_p): Likewise. + * pdp11.c (some_aout_object_p, slurp_symbol_table): Likewise. + * som.c (som_object_setup, som_slurp_symbol_table): Likewise. + * elfcore.h (elf_core_file_p): Don't set start_address using + bfd_get macro. + * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Don't set dynsymcount + using bfd_get macro. + * bfd.c (bfd_set_file_flags): Don't set flags using bfd_get macro. + * linker.c (bfd_generic_link_read_symbols): Don't set outsymbols + or symcount using bfd_get macros. + (_bfd_generic_final_link, generic_add_output_symbol): Likewise. + * syms.c (bfd_set_symtab): Likewise. + * vms-alpha.c (alpha_vms_bfd_final_link): Likewise. + * archive.c (do_slurp_bsd_armap): Don't set has_armap using + bfd_has_map macro. + (do_slurp_coff_armap, bfd_slurp_armap): Likewise. + * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise. + * coff-rs6000.c (_bfd_xcoff_slurp_armap): Likewise. + * coff64-rs6000.c (xcoff64_slurp_armap): Likewise. + * ecoff.c (_bfd_ecoff_slurp_armap): Likewise. + * som.c (som_slurp_armap): Likewise. + +2019-09-18 Alan Modra + + * archures.c (bfd_get_arch): Make param const. + (bfd_get_mach, bfd_arch_bits_per_byte): Likewise. + (bfd_arch_bits_per_address, bfd_octets_per_byte): Likewise. + * bfd-in2.h: Regenerate. + +2019-09-18 Alan Modra + + * bfd-in.h (carsym.name): Make const. + * reloc.c (struct reloc_howto_struct.name): Likewise. + * targets.c (bfd_target.name): Likewise.! + * bfd.c (bfd_get_sign_extend_vma): Make variable const. + * som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable + when setting carsym.name. + * bfd-in2.h: Regenerate. + +2019-09-18 Alan Modra + + * mach-o.c (bfd_mach_o_fat_member_init): Likewise. Replace + xstrdup and xmalloc with bfd_strdup and bfd_malloc. Return an + error status. Adjust calls. + * vms-lib.c (_bfd_vms_lib_get_module): Test mhd->id earlier. + Close bfd on failure. Replace xstrdup/bfd_alloc use with + bfd_malloc. Use bfd_set_filename. + +2019-09-18 Alan Modra + + * elf64-ppc.c (must_be_dyn_reloc): Return 0 for TOC16 relocs. + (ppc64_elf_check_relocs): Support dynamic/copy relocs for TOC16. + (ppc64_elf_adjust_dynamic_symbol): Don't keep dynamic reloc when + needs_copy even if all relocs are in rw sections. + (dec_dynrel_count): Handle TOC16 relocs. + (ppc64_elf_relocate_section): Support dynamic relocs for TOC16. + (ppc64_elf_finish_dynamic_symbol): Adjust to handle needs_copy + semantic change. + +2019-09-16 Phil Blundell + + * version.m4: Set version to 2.33.50. + * Makefile.in, configure, doc/Makefile.in: Regenerated. + +2019-09-11 Tom Tromey + + * opncls.c (bfd_set_filename): New function. + * bfd-in2.h: Regenerate. + +2019-09-11 Alan Modra + + * targets.c (struct bfd_target): Add _bfd_group_name. + (BFD_JUMP_TABLE): Likewise. + * coffgen.c (bfd_coff_group_name): New function. + * elf.c (bfd_elf_group_name): New function. + * linker.c (_bfd_nolink_bfd_group_name): New function. + * section.c (bfd_generic_group_name): New function. + * elf-bfd.h (bfd_elf_group_name): Declare. + * libbfd-in.h (_bfd_nolink_bfd_group_name): Declare. + * libcoff-in.h (bfd_coff_group_name): Declare. + * aout-target.h (MY_bfd_group_name): Define. + * aout-tic30.c (MY_bfd_group_name): Define. + * bfd.c (bfd_group_name): Define. + * binary.c (binary_bfd_group_name): Define. + * coff-alpha.c (_bfd_ecoff_bfd_group_name): Define. + * coff-mips.c (_bfd_ecoff_bfd_group_name): Define. + * coff-rs6000.c (_bfd_xcoff_bfd_group_name): Define. + * coffcode.h (coff_bfd_group_name): Define. + * elfxx-target.h (bfd_elfNN_bfd_group_name): Define. + * i386msdos.c (msdos_bfd_group_name): Define. + * ihex.c (ihex_bfd_group_name): Define. + * mach-o-target.c (bfd_mach_o_bfd_group_name): Define. + * mmo.c (mmo_bfd_group_name): Define. + * pef.c (bfd_pef_bfd_group_name): Define. + * plugin.c (bfd_plugin_bfd_group_name): Define. + * ppcboot.c (ppcboot_bfd_group_name): Define. + * som.c (som_bfd_group_name): Define. + * srec.c (srec_bfd_group_name): Define. + * tekhex.c (tekhex_bfd_group_name): Define. + * verilog.c (verilog_bfd_group_name): Define. + * vms-alpha.c (vms_bfd_group_name, alpha_vms_bfd_group_name): Define. + * xsym.c (bfd_sym_bfd_group_name): Define. + * coff64-rs6000.c (rs6000_xcoff64_vec): Init new field. + (rs6000_xcoff64_aix_vec): Likewise. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + +2019-09-10 Nick Clifton + + PR 24907 + * archures.c (bfd_arch_info_type): Add max_reloc_offset_into_insn + field. + (bfd_default_arch_struct): Initialise the new field. + * bfd-in2.h: Regenerate. + * cpu-aarch64.c: Initialise the new field. + * cpu-alpha.c: Likewise. + * cpu-arc.c: Likewise. + * cpu-arm.c: Likewise. + * cpu-avr.c: Likewise. + * cpu-bfin.c: Likewise. + * cpu-bpf.c: Likewise. + * cpu-cr16.c: Likewise. + * cpu-cr16c.c: Likewise. + * cpu-cris.c: Likewise. + * cpu-crx.c: Likewise. + * cpu-csky.c: Likewise. + * cpu-d10v.c: Likewise. + * cpu-d30v.c: Likewise. + * cpu-dlx.c: Likewise. + * cpu-epiphany.c: Likewise. + * cpu-fr30.c: Likewise. + * cpu-frv.c: Likewise. + * cpu-ft32.c: Likewise. + * cpu-h8300.c: Likewise. + * cpu-hppa.c: Likewise. + * cpu-i386.c: Likewise. + * cpu-ia64.c: Likewise. + * cpu-iamcu.c: Likewise. + * cpu-ip2k.c: Likewise. + * cpu-iq2000.c: Likewise. + * cpu-k1om.c: Likewise. + * cpu-l1om.c: Likewise. + * cpu-lm32.c: Likewise. + * cpu-m10200.c: Likewise. + * cpu-m10300.c: Likewise. + * cpu-m32c.c: Likewise. + * cpu-m32r.c: Likewise. + * cpu-m68hc11.c: Likewise. + * cpu-m68hc12.c: Likewise. + * cpu-m68k.c: Likewise. + * cpu-m9s12x.c: Likewise. + * cpu-m9s12xg.c: Likewise. + * cpu-mcore.c: Likewise. + * cpu-mep.c: Likewise. + * cpu-metag.c: Likewise. + * cpu-microblaze.c: Likewise. + * cpu-mips.c: Likewise. + * cpu-mmix.c: Likewise. + * cpu-moxie.c: Likewise. + * cpu-msp430.c: Likewise. + * cpu-mt.c: Likewise. + * cpu-nds32.c: Likewise. + * cpu-nfp.c: Likewise. + * cpu-nios2.c: Likewise. + * cpu-ns32k.c: Likewise. + * cpu-or1k.c: Likewise. + * cpu-pdp11.c: Likewise. + * cpu-pj.c: Likewise. + * cpu-plugin.c: Likewise. + * cpu-powerpc.c: Likewise. + * cpu-pru.c: Likewise. + * cpu-riscv.c: Likewise. + * cpu-rl78.c: Likewise. + * cpu-rs6000.c: Likewise. + * cpu-rx.c: Likewise. + * cpu-s12z.c: Likewise. + * cpu-s390.c: Likewise. + * cpu-score.c: Likewise. + * cpu-sh.c: Likewise. + * cpu-sparc.c: Likewise. + * cpu-spu.c: Likewise. + * cpu-tic30.c: Likewise. + * cpu-tic4x.c: Likewise. + * cpu-tic54x.c: Likewise. + * cpu-tic6x.c: Likewise. + * cpu-tic80.c: Likewise. + * cpu-tilegx.c: Likewise. + * cpu-tilepro.c: Likewise. + * cpu-v850.c: Likewise. + * cpu-v850_rh850.c: Likewise. + * cpu-vax.c: Likewise. + * cpu-visium.c: Likewise. + * cpu-wasm32.c: Likewise. + * cpu-xc16x.c: Likewise. + * cpu-xgate.c: Likewise. + * cpu-xstormy16.c: Likewise. + * cpu-xtensa.c: Likewise. + * cpu-z80.c: Likewise. + * cpu-z8k.c: Likewise. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-09-06 Alan Modra + + * aout-target.h (object_p): Formatting. + * bfd-in.h (bfd_get_filename): Don't cast to char*. + * corefile.c (generic_core_file_matches_executable_p): Constify + variables and remove cast. + * bfd-in2.h: Regenerate. + +2019-09-05 Alan Modra + + * elf64-ppc.c (ppc64_elf_check_relocs): Interpret an addend in + GOT_PCREL and PLT_PCREL relocs as affecting the value stored + in the GOT/PLT entry rather than affecting the offset to that + GOI/PLT entry. + (ppc64_elf_edit_toc, ppc64_elf_relocate_section): Likewise. + +2019-09-05 Alan Modra + + * elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores + in second instruction. + (ppc64_elf_relocate_section): Likewise. + +2019-09-05 Alan Modra + + PR 24955 + * libbfd-in.h (bfd_strdup): New inline function. + * archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup. Close + bfd on error. + * elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup. + * opncls.c (bfd_fopen): Use bfd_strdup. Close fd and stream + on error. + (bfd_openstreamr): Use bfd_strdup. + (bfd_openr_iovec, bfd_openw, bfd_create): Likewise. + * plugin.c (try_load_plugin): Use bfd_malloc. + * libbfd.h: Regenerate. + +2019-09-02 Alan Modra + + PR 11983 + * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename + on success. Tidy. + (read_alt_indirect_string): Likewise. + (read_alt_indirect_ref): Likewise. + +2019-08-31 Jim Wilson + + PR 23825 + * elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD, + SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section. + +2019-08-30 Jim Wilson + + * elfnn-riscv.c (riscv_elf_relocate_section): For unresolvable reloc + error, call bfd_set_error, set ret to FALSE, and goto out label. + +2019-08-30 H.J. Lu + + PR ld/24951 + * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS, + BFD_DECOMPRESS and BFD_COMPRESS_GABI flags for thin archive. + +2019-08-29 Alan Modra + + PR 24697 + * elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc + when !bfd_link_executable for R_PPC_EMB_SDA2I16 and + R_PPC_EMB_SDA2REL. Don't call bad_shared_reloc for any other + reloc. + +2019-08-29 Alan Modra + + * elf64-ppc.c (xlate_pcrel_opt): Add poff parameter. Allow offset + on second insn, return it in poff. + (ppc64_elf_relocate_section): Add offset to paddi addend for + PCREL_OPT. + +2019-08-28 Jim Wilson + + * elfnn-riscv.c (_bfd_riscv_relax_lui): Add check to exclude abs + section when setting max_alignment. Update comment. + (_bfd_riscv_relax_pc): Likewise. + +2019-08-29 Alan Modra + + PR 24891 + * bfd.c (struct bfd): Add no_element_cache. + * archive.c (_bfd_get_elt_at_filepos): Don't add element to + archive cache when no_element_cache. + (bfd_generic_archive_p): Set no_element_cache when opening first + element to check format. Close first element too. + (do_slurp_bsd_armap): Don't zero ardata->cache here. + * bfd-in2.h: Regenerate. + +2019-08-24 Alan Modra + + * elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak + symbols from GOT optimisation. + +2019-08-23 Stafford Horne + + * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for + PLT GOT entries. + +2019-08-23 Nick Clifton + + PR 24456 + * elf.c (bfd_section_from_shdr): Issue an informative warning + message and continue processing other sections after encountering + a reloc section for a section which already has other relocs + associated with it. + +2019-08-23 Alan Modra + + PR 24933 + * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit + on error without freeing plts[] contents. + +2019-08-22 Dennis Zhang + + * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE. + +2019-08-22 Nick Clifton + + PR 24922 + * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before + reading data from extra records. + +2019-08-22 Tamar Christina + + PR ld/24601 + * elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS. + Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation. + * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it. + * elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning + for weak TLS. + +2019-08-22 Alan Modra + + * elf32-arm.c (cmse_scan): Don't use ARM_GET_SYM_CMSE_SPCL, + instead recognize CMSE_PREFIX in symbol name. + (elf32_arm_gc_mark_extra_sections): Likewise. + (elf32_arm_filter_cmse_symbols): Don't test ARM_GET_SYM_CMSE_SPCL. + (elf32_arm_swap_symbol_in): Don't invoke ARM_SET_SYM_CMSE_SPCL. + +2019-08-20 Dennis Zhang + + * cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65, + Cortex-A77, cortex-A65AE, and Cortex-A76AE. + +2019-08-20 Tamar Christina + + * elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub, + elf32_arm_stub_long_branch_v4t_thumb_thumb, + elf32_arm_stub_long_branch_v4t_thumb_arm, + elf32_arm_stub_short_branch_v4t_thumb_arm, + elf32_arm_stub_long_branch_v4t_thumb_arm_pic, + elf32_arm_stub_long_branch_v4t_thumb_thumb_pic, + elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to + previous instruction. + +2019-08-19 Tom Tromey + + * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table + holding symbols. + +2019-08-19 Alan Modra + + * elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel + to has_optrel. + (struct _ppc64_elf_section_data): Likewise. + (ppc64_elf_check_relocs): Set has_optrel for more relocs. + (ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather + than TOC loop. Check PLT16 insns too. + +2019-08-16 H.J. Lu + + PR ld/24905 + * elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for + PC-relative relocations back to ... + (elf_x86_64_relocate_section): Here. + +2019-08-16 Martin Liska + + PR ld/24912 + * elflink.c: Report error only for not relocatable. + * linker.c (_bfd_generic_link_add_one_symbol): Do not handle + here lto_slim_object as it's handled in caller. + +2019-08-16 Alan Modra + + * elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs. + +2019-08-15 Jim Wilson + + * elfnn-riscv.c (perform_relocation) : If + RISCV_CONST_HIGH_PART (value) is zero, then convert c.lui instruction + to c.li instruction, and use ENCODE_RVC_IMM to set value. + +2019-08-15 Tom Tromey + + * dwarf2.c (scan_unit_for_symbols): Check for end of CU, not end + of section. + +2019-08-14 Alan Modra + + PR 24623 + * dwarf2.c (stash_comp_unit): New function, extracted from.. + (_bfd_dwarf2_find_nearest_line): ..here. + (find_abstract_instance): Parse comp units and decode line info + as needed. + +2019-08-14 Alan Modra + + * dwarf2.c (comp_unit_maybe_decode_line_info): Declare. + (comp_unit_find_nearest_line): Use it here.. + (_bfd_dwarf2_find_symbol_bias): ..and here. + +2019-08-14 Alan Modra + + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter. + * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. + * coffgen.c (coff_find_nearest_line_with_names): Adjust + _bfd_dwarf2_find_nearest_line calls. + * elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise. + * elf32-arm.c (elf32_arm_find_nearest_line): Likewise. + * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise. + * elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise. + * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise. + * mach-o.c (bfd_mach_o_find_nearest_line): Likewise. + * libbfd.h: Regenerate. + +2019-08-09 Mihailo Stojanovic + + * elf-bfd.h (struct elf_backend_data): New members. + * elflink.c (_bfd_elf_link_create_dynamic_sections): Create + .gnu.hash section if necessary. + (struct collect_gnu_hash_codes): New member. + (elf_gnu_hash_process_symidx): New function name. + (elf_renumber_gnu_hash_syms): Ignore local and undefined + symbols. Record xlat location for every symbol which should have + a .MIPS.xhash entry. + (bfd_elf_size_dynamic_sections): Add DT_GNU_HASH dynamic tag to + dynamic section if necessary. + (GNU_HASH_SECTION_NAME): New define. + (bfd_elf_size_dynsym_hash_dynstr): Get .MIPS.xhash section. + Update the section size info. + * elfxx-mips.c (struct mips_elf_hash_sort_data): New members. + (struct mips_elf_link_hash_entry): New member. + (mips_elf_link_hash_newfunc): Initialize .MIPS.xhash translation + table location. + (mips_elf_sort_hash_table): Initialize the pointer to the + .MIPS.xhash section. + (mips_elf_sort_hash_table_f): Populate the .MIPS.xhash + translation table entry with the symbol dynindx. + (_bfd_mips_elf_section_from_shdr): Add SHT_MIPS_XHASH. + (_bfd_mips_elf_fake_sections): Initialize .MIPS.xhash section + info. + (_bfd_mips_elf_create_dynamic_sections): Create .MIPS.xhash + section. + (_bfd_mips_elf_size_dynamic_sections): Add DT_MIPS_XHASH tag to + dynamic section. + (_bfd_mips_elf_finish_synamic_sections): Add DT_MIPS_XHASH. + (_bfd_mips_elf_final_write_processing): Set .MIPS.xhash section + sh_link info. + (_bfd_mips_elf_get_target_dtag): Get DT_MIPS_XHASH tag. + (MIPS_LIBC_ABI_XHASH): New ABI version enum value. + (_bfd_mips_post_process_headers): Mark the ABI version as + MIPS_LIBC_ABI_XHASH if there exists a .MIPS.xhash section, + but not a .hash section. + (_bfd_mips_elf_record_xhash_symbol): New function. Record a + position in the translation table, associated with the hash + entry. + * elfxx-mips.h (literal_reloc_p): Define + elf_backend_record_xhash_symbol backend hook. + * elfxx-target.h: Initialize elf_backend_record_xhash_symbol + backend hook. + +2019-08-07 Jose E. Marchesi + + * elf64-bpf.c (bpf_elf_relocate_section): New function. + (bpf_elf_insn_disp_reloc): Delete function. + (elf_backend_relocate_section): Define. + +2019-08-07 Alan Modra + + PR 24644 + * archive64.c (_bfd_archive_64_bit_slurp_armap): Properly check + for overflow in expressions involving nsymz. + +2019-08-01 Ilia Diachkov + + * elfnn-riscv.c (_bfd_riscv_relax_lui): Set lui relax safety area to + two pages in relro presence. + +2019-08-01 Max Filippov + + * elf32-xtensa.c (insn_num_slots, get_rsr_lend_opcode) + (get_wsr_lbeg_opcode): New functions. + (check_loop_aligned): Detect relaxed loops and adjust loop_len + and insn_len for the first actual instruction of the loop. + +2019-07-30 Alan Modra + + PR 24768 + * bfd.c (struct bfd): Add lto_slim_object flag. + * bfd-in2.h: Regenerate. + +2019-07-29 Martin Liska + + PR 24768 + * archive.c (_bfd_compute_and_write_armap): Come up with + report_plugin_err variable. + * bfd-in2.h (struct bfd): Add lto_slim_object flag. + * elf.c (struct lto_section): New. + (_bfd_elf_make_section_from_shdr): Parse content of + .gnu_lto_.lto section. + * elflink.c: Report error for a missing LTO plugin. + * linker.c (_bfd_generic_link_add_one_symbol): Likewise. + +2019-07-28 Alan Modra + + PR 24857 + PR 24339 + * elflink.c (elf_link_add_object_symbols): Report an informative + error on finding local symbols with index equal or greater than + symbol table sh_info. Correct comment. Allow such symbols in + dynamic objects. Abort on NULL section for symbol. + +2019-07-26 Alan Modra + + * elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field. + (elf_linker): Don't define. + * elflink.c (bfd_elf_final_link): Don't set elf_linker. + +2019-07-25 YunQiang Su + + PR 24832 + * elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit + mips inputs. + +2019-07-24 Claudiu Zissulescu + + * elf32-arc.c (bfd_get_32_me): Add a small description, fix + formating. + (reloc_type_to_name): Fix formating. + (arc_elf_object_p): Likewise. + (debug_arc_reloc): Likewise. + (arc_do_relocation): Likewise. + +2019-07-24 Claudiu Zissulescu + + * elf32-arc.c (bfd_get_32_me): New function. + (bfd_put_32_me): Likewise. + (arc_elf_relax_section): Likewise. + (bfd_elf32_bfd_relax_section): Define. + +2019-07-24 Alan Modra + + * elf-bfd.h (struct elf_backend_data): Return bfd_boolean from + elf_backend_final_write_processing, don't pass linker arg. + (_bfd_elf_final_write_processing): Update prototype. + * elf.c (_bfd_elf_write_object_contents): Adjust call. + (_bfd_elf_final_write_processing): Return error on incompatible + OSABI and has_gnu_osabi. Remove linker arg. + * elf-nacl.h (nacl_final_write_processing): Update prototype. + * elf-vxworks.h (elf_vxworks_final_write_processing): Likewise. + * elfxx-mips.h (_bfd_mips_final_write_processing): Likewise. + (_bfd_mips_elf_final_write_processing): Likewise. + * elf-hppa.h (elf_hppa_final_write_processing): Return status + and remove linker arg. + * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise. + * elf-nacl.c (nacl_final_write_processing): Likewise. + * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise. + * elf32-arc.c (arc_elf_final_write_processing): Likewise. + * elf32-arm.c (arm_final_write_processing): Likewise. + (elf32_arm_final_write_processing): Likewise. + (elf32_arm_nacl_final_write_processing): Likewise. + (elf32_arm_vxworks_final_write_processing): Likewise. + * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise. + * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise. + * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise. + * elf32-cris.c (cris_elf_final_write_processing): Likewise. + * elf32-h8300.c (elf32_h8_final_write_processing): Likewise. + * elf32-lm32.c (lm32_elf_final_write_processing): Likewise. + * elf32-m32r.c (m32r_elf_final_write_processing): Likewise. + * elf32-m68k.c (elf_m68k_final_write_processing): Likewise. + * elf32-mips.c (mips_vxworks_final_write_processing): Likewise. + * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise. + * elf32-nds32.c (nds32_elf_final_write_processing): Likewise. + * elf32-or1k.c (or1k_elf_final_write_processing): Likewise. + * elf32-pj.c (pj_elf_final_write_processing): Likewise. + * elf32-ppc.c (ppc_final_write_processing): Likewise. + (ppc_elf_final_write_processing): Likewise. + (ppc_elf_vxworks_final_write_processing): Likewise. + * elf32-sparc.c (sparc_final_write_processing): Likewise. + (elf32_sparc_final_write_processing): Likewise. + (elf32_sparc_vxworks_final_write_processing): Likewise. + * elf32-v850.c (v850_elf_final_write_processing): Likewise. + * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise. + * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise. + * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise. + * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise. + * elfxx-mips.c (_bfd_mips_final_write_processing): Likewise. + (_bfd_mips_elf_final_write_processing): Likewise. + +2019-07-24 Alan Modra + + * elf-vxworks.c (elf_vxworks_final_write_processing): Don't return + early. + * elf32-arc.c (arc_elf_final_write_processing): Likewise. + * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise. + +2019-07-24 Alan Modra + + * elf32-visium.c (visium_elf_post_process_headers): Don't set + EI_OSABI header byte here. + (ELF_OSABI): Define. + +2019-07-23 Alan Modra + + * elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind. + * elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind. + (get_program_header_size): Formatting. Only test SH_GNU_MBIND + when elf_gnu_osabi_mbind is set. + (_bfd_elf_map_sections_to_segments): Likewise. + (_bfd_elf_init_private_section_data): Likewise. + (_bfd_elf_final_write_processing): Update comment. + * elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry. + (elf_backend_special_sections): Define without .tbss for linux. + +2019-07-23 Alan Modra + + * elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols. + Remove none, any, all enums. + (struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi. + (_bfd_elf_final_write_processing): Declare. + * elf.c (_bfd_elf_write_object_contents): Unconditionally call + elf_backend_final_write_processing. + (_bfd_elf_post_process_headers): Move body of function to.. + (_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte + only when not already set. Adjust for rename. + * elfxx-target.h (elf_backend_final_write_processing): Default to + _bfd_elf_final_write_processing. + * elf-hppa.h (elf_hppa_final_write_processing): Call + _bfd_elf_final_write_processing. + * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise. + * elf-nacl.c (nacl_final_write_processing): Likewise. + * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise. + * elf32-arc.c (arc_elf_final_write_processing): Likewise. + * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise. + * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise. + * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise. + * elf32-cris.c (cris_elf_final_write_processing): Likewise. + * elf32-h8300.c (elf32_h8_final_write_processing): Likewise. + * elf32-lm32.c (lm32_elf_final_write_processing): Likewise. + * elf32-m32r.c (m32r_elf_final_write_processing): Likewise. + * elf32-m68k.c (elf_m68k_final_write_processing): Likewise. + * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise. + * elf32-nds32.c (nds32_elf_final_write_processing): Likewise. + * elf32-or1k.c (or1k_elf_final_write_processing): Likewise. + * elf32-pj.c (pj_elf_final_write_processing): Likewise. + * elf32-v850.c (v850_elf_final_write_processing): Likewise. + * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise. + * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise. + * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise. + * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise. + * elf32-arm.c (arm_final_write_processing): Split out from.. + (elf32_arm_final_write_processing): ..here. Call + _bfd_elf_final_write_processing. + (elf32_arm_nacl_final_write_processing): Adjust. + * elfxx-mips.c (_bfd_mips_final_write_processing): Split out from.. + (_bfd_mips_elf_final_write_processing): ..here. Call + _bfd_elf_final_write_processing. + * elfxx-mips.h (_bfd_mips_final_write_processing): Declare. + * elf32-mips.c (mips_vxworks_final_write_processing): Adjust. + * elf32-ppc.c (ppc_final_write_processing): Split out from.. + (ppc_elf_final_write_processing): ..here. Call + _bfd_elf_final_write_processing. + (ppc_elf_vxworks_final_write_processing): Adjust. + * elf32-sparc.c (sparc_final_write_processing): Split out from.. + (elf32_sparc_final_write_processing): ..here. Call + _bfd_elf_final_write_processing. + (elf32_sparc_vxworks_final_write_processing): Adjust. + * elf32-d10v.c (elf_backend_final_write_processing): Don't define. + * elf32-d30v.c (elf_backend_final_write_processing): Don't define. + * elf32-m68hc11.c (elf_backend_final_write_processing): Don't define. + * elf32-m68hc12.c (elf_backend_final_write_processing): Don't define. + * elf32-s12z.c (elf_backend_final_write_processing): Don't define. + * elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols. + * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. + * elflink.c (elf_link_add_object_symbols): Likewise. + (elf_link_output_symstrtab): Set has_gnu_osabi for symbols here + instead. + +2019-07-23 Omar Majid + + * coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC, + I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC, + AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC, + AMD64_NETBSD_MAGIC. + * peXXigen.c: Add comment about source of .NET magic numbers. + +2019-07-19 Alan Modra + + * reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34), + (BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34), + (BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34), + (BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs. + * elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs. + (ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs. + (must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64. + (ppc64_elf_check_relocs): Support pcrel tls relocs. + (ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2019-07-18 Alan Modra + + * elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting + a TLS section symbol for edited relocs. Tighten TLS symbol/reloc + match test. + +2019-07-18 Alan Modra + + * elf64-ppc.c (TLS_EXPLICIT): Define as 256. + (ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char + is more than 8 bits. + (ppc64_elf_tls_optimize): Likewise. Make tls_set, tls_clear, and + tls_type vars unsigned int. + (ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT + to select r_type edit. + +2019-07-18 Alan Modra + + * elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file. + Correct comment. + * elf64-ppc.c (TLS_GDIE): Likewise. + +2019-07-18 Alan Modra + + * elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed + range of tp-relative offsets. + +2019-07-15 Alan Modra + + * elflink.c (_bfd_elf_fix_symbol_flags): If the def for an + alias is no longer bfd_link_hash_defined, clear the alias. + +2019-07-13 Alan Modra + + * elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep + tls_sec. + (_bfd_elf_init_1_index_section): Prefer not using TLS sections. + (_bfd_elf_init_2_index_sections): Likewise. + * elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic + relocations for local TLS symbols, use STN_UNDEF as the relocation + symbol. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't + leave TLS symbol value in the addend. + +2019-07-08 Alan Modra + + PR 24785 + * elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo + size before reading first word. + +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. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2019-04-15 Thomas Preud'homme + + * archures.c (bfd_mach_arm_8_1M_MAIN): Define. + * bfd-in2.h: Regenerate. + * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline. + * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline + and update assert. + (using_thumb2): Likewise. + (using_thumb2_bl): Update assert. + (arch_has_arm_nop): Likewise. + (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline. + (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging. + +2019-04-11 H.J. Lu + + * elf-linker-x86.h (elf_x86_cet_report): New. + (elf_linker_x86_params): Add cet_report. + * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report + missing IBT and SHSTK properties if needed. + +2019-04-11 H.J. Lu + + PR ld/24436 + * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of + "h != NULL". Don't check "h != NULL" before calling. + bfd_elf_gc_record_vtentry. + * elf32-arm.c (elf32_arm_check_relocs): Likewise. + * elf32-bfin.c (bfin_check_relocs): Likewise. + * elf32-cris.c (cris_elf_check_relocs): Likewise. + * elf32-csky.c (csky_elf_check_relocs): Likewise. + * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. + * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. + * elf32-fr30.c (fr30_elf_check_relocs): Likewise. + * elf32-frv.c (elf32_frv_check_relocs): Likewise. + * elf32-hppa.c (elf32_hppa_check_relocs): Likewise. + * elf32-i386.c (elf_i386_check_relocs): Likewise. + * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_check_relocs): Likewise. + * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-mcore.c (mcore_elf_check_relocs): Likewise. + * elf32-metag.c (elf_metag_check_relocs): Likewise. + * elf32-or1k.c (or1k_elf_check_relocs): Likewise. + * elf32-ppc.c (ppc_elf_check_relocs): Likewise. + * elf32-s390.c (elf_s390_check_relocs): Likewise. + * elf32-sh.c (sh_elf_check_relocs): Likewise. + * elf32-v850.c (v850_elf_check_relocs): Likewise. + * elf32-vax.c (elf_vax_check_relocs): Likewise. + * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise. + * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise. + * elf64-mmix.c (mmix_elf_check_relocs): Likewise. + * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. + * elf64-s390.c (elf_s390_check_relocs): Likewise. + * elf64-x86-64.c (elf_s390_check_relocs): Likewise. + * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. + * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt + VTENTRY entry. + +2019-04-11 Alan Modra + + PR 24435 + * elflink.c (elf_link_add_object_symbols): Don't read partial + dynamic entries from fuzzed objects. + +2019-04-11 Tamar Christina + + PR ld/24302 + * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit + DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW. + (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW. + +2019-04-10 Michael Forney + + PR 24427 + * doc/chew.c (free_words): Correctly free "push_text" strings. + +2019-04-08 H.J. Lu + + * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets. + +2019-04-08 Alan Modra + + * configure.ac (elfxx_x86): Define and use. + * configure: Regenerate. + +2019-04-06 H.J. Lu + + * elf-linker-x86.h: New file. + * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params + to get x86-specific linker options. + * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise. + (elf_x86_64_check_relocs): Likewise. + (elf_x86_64_relocate_section): Likewise. + (elf_x86_64_link_setup_gnu_properties): Likewise. + * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise. + (_bfd_x86_elf_link_setup_gnu_properties): Likewise. + (_bfd_elf_linker_x86_set_options): New function. + * elfxx-x86.h: Include "elf-linker-x86.h". + (elf_x86_link_hash_table): Add params. + +2019-04-03 Alan Modra + + * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c, + * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c, + * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c, + * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c, + * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c, + * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes. + +2019-04-02 Jim Wilson + + PR 24389 + * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of + ELF header flags to after check for ELF object file. Loop through + sections looking for code sections, if none, then skip ABI checks. + +2019-03-30 Andrew Waterman + + * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for + rd == X_RA case. + +2019-03-29 Max Filippov + + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add + info->export_dynamic to the conditional. + +2019-03-28 Alan Modra + + PR 24392 + * configure.ac: Invoke AC_CHECK_SIZEOF(int). + * configure: Regenerate. + * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic + workaround with SIZEOF_LONG vs. SIZEOF_INT check. + * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise. + * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise. + * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise. + +2019-03-21 Jim Wilson + + PR 24365 + * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check, + verify sym non-NULL before using. Add identical check using h. + +2019-03-21 Sudakshina Das + + * elf-bfd.h (struct elf_backend_data): Add argument to + merge_gnu_properties. + * elf-properties.c (elf_merge_gnu_properties): Add argument to + itself and while calling bed->merge_gnu_properties. + (elf_merge_gnu_property_list): Update the calls for + elf_merge_gnu_properties. + * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling + of --force-bti warning and add argument. + * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add + warning. + * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument. + * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in + declaration. + +2019-03-20 Sudakshina Das + + * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define. + * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare. + (elf_backend_fixup_gnu_properties): Define for AArch64. + +2019-03-18 Alan Modra + + PR 24355 + * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub + for local iplt syms with ent->plt.offset == -1. Remove ineffective + attempt at writing glink stubs only once. + +2019-03-16 Alan Modra + + PR 24337 + * elf.c (_bfd_elf_rela_local_sym): Revert last change. + (_bfd_elf_rel_local_sym): Likewise. + * elflink.c (elf_link_input_bfd): Use bfd_und_section for + section of symbols with unrecognized shndx. + +2019-03-15 H.J. Lu + + PR ld/24267 + * coffgen.c (_bfd_coff_section_already_linked): Skip discarded + section. + * cofflink.c (coff_link_add_symbols): Check for symbols defined + in discarded section. + +2019-03-15 Alan Modra + + PR 24339 + * elflink.c (elf_link_add_object_symbols): Bail out on a local + symbol after globals if elf_bad_symtab is not set. + +2019-03-15 Alan Modra + + PR 24337 + * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec. + (_bfd_elf_rel_local_sym): Likewise. + +2019-03-15 Alan Modra + + PR 24336 + * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed + object files with sh_size not a multiple of sh_entsize. + +2019-03-15 H.J. Lu + + PR ld/24338 + * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt + input with bad relocation. + +22019-03-15 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent. + +2019-03-14 Nick Clifton + + PR 24334 + * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field. + (save_section_vma): Initialise field to the number of entries in + the sec_vma table. + (section_vma_same): Check that the number of entries in the + sec_vma table matches the number of sections in the bfd. + +2019-03-14 Nick Clifton + + PR 24333 + * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL + section owner pointer when adding the default symbol. + +2019-03-14 Nick Clifton + + PR 24332 + * elflink.c (elf_link_add_object_symbols): Add new local variable + extversym_end. Initialise it to point to the end of the version + symbol table, if present. Check it when initialising and updating + the ever pointer. + +2019-03-13 Sudakshina Das + + * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New. + (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New. + (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs. + (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC + and PLT_PAC_PLT. + (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC. + (get_plt_type): Add case for DT_AARCH64_PAC_PLT. + (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC. + +2019-03-13 Sudakshina Das + Szabolcs Nagy + + * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New. + (aarch64_bti_pac_info): New. + (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument. + (bfd_elf32_aarch64_set_options): Likewise. + * bfd-in2.h: Regenerate + * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New. + (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New. + (elfNN_aarch64_small_plt0_bti_entry): New. + (elfNN_aarch64_small_plt_bti_entry): New. + (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New. + (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields. + (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and + tlsdesc_plt_entry_size fields. + (elfNN_aarch64_link_hash_table_create): Initialise the new fields. + (setup_plt_values): New helper function. + (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and + bti enable type. + (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of + fixed macros. + (elfNN_aarch64_size_dynamic_sections): Likewise and add checks. + (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers + to plt stubs instead of fixed ones and update filling them according + to the need for bti. + (elfNN_aarch64_init_small_plt0_entry): Likewise. + (elfNN_aarch64_finish_dynamic_sections): Likewise. + (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New. + (elfNN_aarch64_plt_sym_val): Update size accordingly. + (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE + is set. + (bfd_elfNN_get_synthetic_symtab): Define. + (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti + and mising BTI NOTE SECTION. + + +2019-03-13 Sudakshina Das + + * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude + linker created inputs from merge. + * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for + GNU_PROPERTY_AARCH64_FEATURE_1_AND properties. + (elfNN_aarch64_link_setup_gnu_properties): New. + (elfNN_aarch64_merge_gnu_properties): New. + (elf_backend_setup_gnu_properties): Define for AArch64. + (elf_backend_merge_gnu_properties): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define. + (_bfd_aarch64_elf_parse_gnu_properties): Define. + (_bfd_aarch64_elf_merge_gnu_properties): Define. + * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare. + (_bfd_aarch64_elf_parse_gnu_properties): Declare. + (_bfd_aarch64_elf_merge_gnu_properties): Declare. + (elf_backend_parse_gnu_properties): Define for AArch64. + +2019-03-13 H.J. Lu + + PR ld/24322 + * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly + merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK]. + +2019-03-12 Alan Modra + + * coffcode.h (buy_and_read): Delete unnecessary forward decl. Add + nmemb parameter. Use bfd_alloc2. + (coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls. + Delete assertion. + (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2. + (coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls. + * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation + doesn't overflow. + * elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix. + (assign_section_numbers): Style fix. + (swap_out_syms): Use bfd_malloc2. + (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't + overflow. + (_bfd_elf_make_empty_symbol): Style fix. + (elfobj_grok_stapsdt_note_1): Formatting. + * elfcode.h (elf_object_p): Use bfd_alloc2. + (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise. + (elf_slurp_symbol_table): Use bfd_zalloc2. + (elf_slurp_reloc_table): Use bfd_alloc2. + (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2. + * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure + size calculation doesn't overflow. + (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise. + * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise. + * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version. + +2019-03-08 Alan Modra + + PR 24311 + * merge.c (merge_strings): Return secinfo. Don't pad section + to alignment here. + (_bfd_merge_sections): Pad section to alignment here, if input + sections contributing to merged output all pad to alignment. + Formatting. + +2019-03-06 Nick Clifton + + * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol + table pointer. + * coffgen.c (coff_find_nearest_line_with_names): Do not call + _bfd_dwarf2_find_symbol_bias if there is no symbol table available. + +2019-03-01 Andreas Krebbel + + This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335. + 2019-01-14 Maamoun Tarsha + + PR 20113 + * elf32-s390.c (allocate_dynrelocs): Update comment. + +2019-02-28 Tamar Christina + + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse. + +2019-02-28 Nick Clifton + + PR 24273 + * elf.c (bfd_elf_string_from_elf_section): Check for a string + section that is not NUL terminated. + +2019-02-27 H.J. Lu + + PR ld/24276 + * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined + by linker when checking copy reloc on protected symbol. + +2019-02-24 Alan Modra + + PR 24144 + * pdp11.c (set_section_contents): Revert 2015-02-24 change. + +2019-02-20 Eric Tsai + + * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output + sections between the call site and call destination and adjust + call distance by the largest alignment. + +2019-02-20 Alan Hayward + + * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration. + * elf.c (elfcore_grok_aarch_pauth): New function. + (elfcore_grok_note): Check for NT_ARM_PAC_MASK. + (elfcore_write_aarch_pauth): New function. + (elfcore_write_register_note): Check for AArch64 pauth section. + +2019-02-20 Alan Modra + + PR 24225 + * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf + return value. + +2019-02-20 Michael Roitzsch + + * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all + Darwin hosts, not just or1k. + * configure: Regenerate. + +2019-02-20 Alan Modra + + PR 24236 + * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding + sentinel NUL to string buffer nearer to loop where it is used. + Don't go past sentinel when scanning strings, and don't write + NUL again. + * archive.c (do_slurp_coff_armap): Simplify string handling to + archive64.c style. + +2019-02-19 Alan Modra + + PR 24235 + * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks + attempting to prevent read past end of section. + +2019-02-18 Alan Modra + + PR 24225 + * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and + PRIx64 to generate warning messages. Print local sym names too. + +2019-02-09 Vineet Gupta + + * elf32-arc (INIT_SYM_STRING): Delete. + (FINI_SYM_STRING): Likewise. + (init_str): Likewise. + (fini_str): Likewise. + +2019-02-08 Alan Modra + + * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported + for bss-plt" warning to make it an error. + +2019-02-07 Eric Botcazou + + PR ld/18841 + * elf32-sparc.c (elf32_sparc_reloc_type_class): Return + reloc_class_ifunc for ifunc symbols. + * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise. + +2019-02-07 Eric Botcazou + + * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak. + : Use explicit range test to detect an overflow. + +2019-02-07 Nick Clifton + + * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets + into the definitely obsolete list. + +2019-02-05 H.J. Lu + + PR ld/24151 + * elf64-x86-64.c (elf_x86_64_need_pic): Check + SYMBOL_DEFINED_NON_SHARED_P instead of def_regular. + (elf_x86_64_relocate_section): Move PIC check for PC-relative + relocations to ... + (elf_x86_64_check_relocs): Here. + (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P + to check if a symbol is defined in a non-shared object. + * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New. + +2019-01-21 Sergio Durigan Junior + + * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead + of 'labs' (and fix GCC warning). + +2019-01-25 Nick Clifton + + * po/ru.po: Updated Russian translation. + +2019-01-23 Nick Clifton + + * po/fr.po: Updated French translation. + +2019-01-21 Nick Clifton + + * po/pt.po: Updated Portuguese translation. + * po/uk.po: Updated Ukranian translation. + +2019-01-21 Yuri Chornoivan + + PR 24108 + * elf32-nds32.c (nds32_relocate_section): Add space between words + in error message. + * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in + error message. + (riscv_i_or_e_p): Likewise. + (riscv_merge_arch_attr_info): Likewise. + +2019-01-19 Nick Clifton + + * version.m4: Reset to 2.32.51 + * configure: Regenerate. + * po/bfd.pot: Regenerate. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-16 Kito Cheng + + * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even + for OBJ_ATTR_PROC. + +2019-01-16 Kito Cheng + Nelson Chu + + * elfnn-riscv.c (in_subsets): New. + (out_subsets): Likewise. + (merged_subsets): Likewise. + (riscv_std_ext_p): Likewise. + (riscv_non_std_ext_p): Likewise. + (riscv_std_sv_ext_p): Likewise. + (riscv_non_std_sv_ext_p): Likewise. + (riscv_version_mismatch): Likewise. + (riscv_i_or_e_p): Likewise. + (riscv_merge_std_ext): Likewise. + (riscv_merge_non_std_and_sv_ext): Likewise. + (riscv_merge_arch_attr_info): Likewise. + (riscv_merge_attributes): Likewise. + (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute. + + * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New. + (elf_backend_obj_attrs_vendor): Define. + (elf_backend_obj_attrs_section_type): Likewise. + (elf_backend_obj_attrs_section): Likewise. + (elf_backend_obj_attrs_arg_type): Define as + riscv_elf_obj_attrs_arg_type. + * elfxx-riscv.c (riscv_estimate_digit): New. + (riscv_estimate_arch_strlen1): Likewise. + (riscv_estimate_arch_strlen): Likewise. + (riscv_arch_str1): Likewise. + (riscv_arch_str): Likewise. + * elfxx-riscv.h (riscv_arch_str): Declare. + +2019-01-14 John Darrington + + * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc. + * libbfd.h: regen. + * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero + source field. (md_apply_fix): Apply final fix + to BFD_RELOC_S12Z_OPR. + * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc. + +2019-01-14 Maamoun Tarsha + + PR 20113 + * elf32-s390.c (allocate_dynrelocs): Update comment. + +2019-01-09 Andrew Paprocki + + * warning.m4: Adjust egrep pattern for non-GNU compilers. + * configure: Regenerate. + +2019-01-08 Alan Modra + + PR 23699 + PR 24065 + * ihex.c (ihex_write_object_contents): Properly check 32-bit + address range. + +2019-01-05 Yoshinori Sato + + * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3. + * bfd/bfd-in2.h: Regenerate. + * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry. + * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support. + +2019-01-04 Lifang Xia + + * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky + default target, little endian target is more suitable. + +2019-01-04 Alan Modra + + PR 24061 + PR 21786 + * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and + adjust all callers. + (EQ_VALUE_IN_FIELD): Likewise. + * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise. + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 2e612632715..43dd3f31db7 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,1517 +1,6 @@ -2019-12-30 Alan Modra - - * od-macho.c: Include elfcomm.h. - (dump_dyld_info_rebase, dump_dyld_info_bind): Fix read_leb128 args. - (dump_dyld_info_export_1, dump_segment_split_info): Likewise. - -2019-12-23 Hans-Peter Nilsson - - * dwarf.c (display_debug_lines_decoded): Cast printf parameter to - format type to correct last change. - -2019-12-23 Alan Modra - - * dwarf.h (read_leb128): Update prototype. - (report_leb_status): New inline function. - (SKIP_ULEB, SKIP_SLEB, READ_ULEB, READ_SLEB): Define. - * dwarf.c: Use above macros throughout file. Formatting. - (read_leb128): Reorder params. Add status return param. - Don't stop reading until finding terminator or end of data. - Detect loss of significant bits. Sign extend only on - terminating byte. - (read_sleb128, read_uleb128): Delete functions. - (SKIP_ULEB, SKIP_SLEB, READ_ULEB, READ_SLEB): Delete macros. - (read_and_print_leb128): Rewrite. - (process_extended_line_op): Return a size_t. Use size_t vars. - Adjust to suit new macros. Add proper name size to "data" when - processing DW_LNE_define_file. - (process_abbrev_section): Adjust to suit new macros. - (decode_location_expression, skip_attr_bytes): Likewise. - (get_type_signedness): Likewise. - (read_and_display_attr_value): Likewise. Consolidate block code. - (process_debug_info): Adjust to suit new macros. - (display_formatted_table, display_debug_lines_raw): Likewise. - (display_debug_lines_decoded): Likewise. Properly check for end - of DW_LNS_extended_op. - (display_debug_macinfo): Adjust to suit new macros. - (get_line_filename_and_dirname, display_debug_macro): Likewise. - (display_view_pair_list): Likewise. Don't back off when hitting - end of data. - (display_loc_list): Adjust to suit new macros. - (display_loclists_list, display_loc_list_dwo): Likewise. - (display_debug_rnglists_list, read_cie): Likewise. - (display_debug_frames): Likewise. - * readelf.c: Use new ULEB macros throughout file. - (read_uleb128): Delete. - (decode_arm_unwind_bytecode): Use read_leb128. - (decode_tic6x_unwind_bytecode): Likewise. - (display_tag_value): Adjust to suit new macros. - (display_arc_attribute, display_arm_attribute): Likewise. - (display_gnu_attribute, display_power_gnu_attribute): Likewise. - (display_s390_gnu_attribute, display_sparc_gnu_attribute): Likewise. - (display_mips_gnu_attribute, display_tic6x_attribute): Likewise. - (display_msp430x_attribute, display_msp430_gnu_attribute): Likewise. - (display_riscv_attribute, process_attributes): Likewise. - -2019-12-17 Alan Modra - - * objdump.c (compare_section): New static var. - (compare_symbols): Sort by current section only. Don't access - symbol name out of bounds when checking for file symbols. - Sort section symbols and object symbols. - (find_symbol_for_address): Remove bogus debugging and section - symbol test. - (disassemble_data): Move symbol sort from here.. - (disassemble_section): ..to here. Set compare_section. - -2019-12-17 Alan Modra - - * testsuite/binutils-all/objcopy.exp: Remove tic80 support. - * testsuite/binutils-all/objdump.exp: Likewise. - -2019-12-11 Alan Modra - - * od-xcoff.c (dump_dumpx_core): Adjust for bfd_h_get_8 change. - -2019-12-10 Alan Modra - - PR 24960 - * objdump.c (disassemble_data): Call disassemble_free_target. - -2019-12-10 Alan Modra - - * objdump.c (struct objdump_disasm_info): Delete "sec". - (find_symbol_for_address): Use inf->section rather than aux->sec. - (objdump_print_addr, disassemble_bytes): Likewise. - (disassemble_section): Don't set aux->sec. - -2019-12-08 Alan Modra - - * testsuite/lib/binutils-common.exp (regexp_diff): Support #?REGEXP. - -2019-11-22 Andrew Burgess - - * dwarf.c (regname_internal_riscv): New function. - (init_dwarf_regnames_riscv): Use new function. - -2019-11-22 Andrew Burgess - - * dwarf.c (typedef dwarf_regname_lookup_ftype): New typedef. - (dwarf_regnames_lookup_func): New static global. - (init_dwarf_regnames_i386): Set dwarf_regnames_lookup_func. - (init_dwarf_regnames_iamcu): Likewise. - (init_dwarf_regnames_x86_64): Likewise. - (init_dwarf_regnames_aarch64): Likewise. - (init_dwarf_regnames_s390): Likewise. - (init_dwarf_regnames_riscv): Likewise. - (init_dwarf_regnames_by_elf_machine_code): Reset - dwarf_regnames_lookup_func to NULL. - (init_dwarf_regnames_by_bfd_arch_and_mach): Likewise. - (regname_internal_by_table_only): New function. - (regname): Make use of dwarf_regnames_lookup_func. - -2019-11-22 Andrew Burgess - - * dwarf.c (init_dwarf_regnames_i386): Make static. - (init_dwarf_regnames_iamcu): Make static. - (init_dwarf_regnames_x86_64): Make static. - (init_dwarf_regnames_aarch64): Make static. - (init_dwarf_regnames_s390): Make static. - (init_dwarf_regnames_riscv): Make static. - * dwarf.h (init_dwarf_regnames_i386): Delete declaration. - (init_dwarf_regnames_iamcu): Delete declaration. - (init_dwarf_regnames_x86_64): Delete declaration. - (init_dwarf_regnames_aarch64): Delete declaration. - (init_dwarf_regnames_s390): Delete declaration. - (init_dwarf_regnames_riscv): Delete declaration. - -2019-11-22 Andrew Burgess - - * dwarf.c (init_dwarf_regnames_by_bfd_arch_and_mach): New - function. - * dwarf.h (init_dwarf_regnames_by_bfd_arch_and_mach): Declare. - * objdump.c (dump_dwarf): Call new function instead of calling - specific initialization routines. Restrucure so that eh_addr_size - is still calculated correctly. - -2019-11-22 Andrew Burgess - - * dwarf.c (init_dwarf_regnames): Renamed to... - (init_dwarf_regnames_by_elf_machine_code): ...this. - * dwarf.h (init_dwarf_regnames): Renamed to... - (init_dwarf_regnames_by_elf_machine_code): ...this. - * readelf.c (process_file_header): Update call to use new name. - -2019-11-22 Andrew Burgess - - * dwarf.c (frame_need_space): Compare dwarf_regnames_count against - 0, and only warn about large numbers of registers if the number is - more than the dwarf_regnames_count. - -2019-11-25 Christian Eggers - - * objdump.c (disassemble_data): Provide section parameter to - bfd_octets_per_byte. - (dump_section): likewise - (dump_section_header): likewise. Show SEC_ELF_OCTETS flag if set. - -2019-11-21 Alan Modra - - PR 273 - * size.c (sysv_internal_sizer, sysv_internal_printer): Exclude - sections with no flag bits set. - * testsuite/binutils-all/size.exp: Allow $CODE$ as a text section. - -2019-11-21 Nick Clifton - - * objcopy.c (merge_gnu_build_notes): Allow for the possibility - that the new notes might actually be larger than the original - notes. - -2019-11-21 Alan Modra - - * testsuite/lib/binutils-common.exp (is_pecoff_format): Rewrite - with positive logic and add more target triples. - -2019-11-19 Alan Modra - - PR 24499 - * objcopy.c (copy_file): Ignore --add-gnu-debuglink for archives. - -2019-11-19 Alan Modra - - PR 24968 - * objcopy.c (copy_object): For ELF output and non-ELF input without - arch, take arch from output file if not given by -B. Don't - bfd_get_arch_info when we already have iarch. - -2019-11-19 Alan Modra - - PR 25191 - * objcopy.c (is_nondebug_keep_contents_section): Use bfd_get_flavour. - (copy_object): Likewise. - (setup_section): Likewise. If flavour of input and output files - differ, restrict section flags to the intersection of input and - output bfd_applicable_section_flags. - -2019-11-19 Alan Modra - - * bucomm.c (bfd_nonfatal_message): Add a space between program - name and file. - -2019-11-18 Alan Modra - - PR 25198 - * prdbg.c (tg_start_class_type): Correct scope of idbuf. - -2019-11-08 Alan Modra - - PR 25172 - * objdump.c (usage): Correct --stop-address description. - -2019-11-07 Nick Clifton - - * ar.c (open_output_file): Check for filename validity before - prefixing with output directory. - Display the constructed output filename if in verbose mode. - (extract_file): Let open_output_file display the filename. - -2019-11-07 Nick Clifton - - * objcopy.c (copy_object): Skip note sections that do not have - an output section. Always copy note sections, even if no - changes are made. - -2019-11-06 Christian Eggers - - * readelf.c (IN_RANGE): Rename parameter OFF to NELEM. Add - comment. Catch potential integer overflow and fix off by one - error whilst checking reloc location against section size. - (apply_relocations): Use IN_RANGE macro. - -2019-11-04 Fangrui Song - - * objcopy.c (enum option_values): Add OPTION_KEEP_SECTION. - (SECTION_CONTEXT_KEEP): Define. Adjust other SECTION_CONTEXT macros. - (copy_usage): Describe --keep-section. - (strip_usage): Likewise. - (copy_main): Handle SECTION_CONTEXT_KEEP. - (strip_main): Likewise. - (is_strip_section_1): Likewise. - * testsuite/binutils-all/objcopy.exp: Add tests. - * testsuite/binutils-all/keep-section-1.d: New test driver file. - * testsuite/binutils-all/keep-section-2.d: Likewise. - * doc/binutils.texi: Document the new feature. - * NEWS: Mention the new feature. - -2019-10-20 Palmer Dabbelt - - * MAINTAINERS: Change palmer@sifive.com to palmer@dabbelt.com. - -2019-10-30 Fangrui Song - Nick Clifton - - * ar.c (emum long option numbers): Declare. Use to provide - numerical values for long options. - (long_options): Add --output option. - (usage): Mention the --output option. - (open_output_file): New function. Create a filepath for an output - file and open it. - (extract_file): Use open_output_file(). - (open_output_file): - * testsuite/binutils-all/ar.exp: Add a test of the new feature. - * doc/binutils.texi: Document the new feature. - * NEWS: Mention the new feature. - -2019-10-26 Alan Modra - - * objcopy.c (sort_gnu_build_notes): Correct sort of deleted - note2. - -2019-10-25 H.J. Lu - - * elfedit.c (elf_x86_feature): Report unknown x86 feature. - -2019-10-25 H.J. Lu - - * elfedit.c (update_gnu_property): Replace BYTE_PUT with byte_put. - -2019-10-25 Nick Clifton - - * objcopy.c (struct merged_note_section): New structure. Used to - chain together details of mergeable note sections. - (is_merged_note_section): Rename to is_megreable_note_section and - return true for note sections that use GNU_BUILD_ATTRS_SECTION_NAME - as a prefix. - (num_bytes): Delete - (objcoopy_internal_note): Add padded_namesz field. - (DEBUG_MERGE): New macro. Set to non-zero to enable debugging of - the note merging code. - (gap_exists): Rename to overlaps_or_adjoins and return TRUE for - overlapping notes or adjoining notes. - (contained_by, is_deleted_note, is_version_note) - (compare_gnu_build_notes, sort_gnu_build_notes): New functions. - (merge_gnu_build_notes): Rework. Sort notes into a mergeable - order first. Merge them. Then sort them into an ascending - address order before writing them out. - (copy_object): Handle more than one mergeable note section. - * testsuite/binutils-all/note-2-32.d: Update for new merging - behaviour. - * testsuite/binutils-all/note-2-32.s: Likewise. - * testsuite/binutils-all/note-2-64.d: Likewise. - * testsuite/binutils-all/note-2-64.s: Likewise. - * testsuite/binutils-all/note-3-32.d: Likewise. - * testsuite/binutils-all/note-3-32.s: Likewise. - * testsuite/binutils-all/note-3-64.d: Likewise. - * testsuite/binutils-all/note-3-64.s: Likewise. - * testsuite/binutils-all/note-4-32.d: Likewise. - * testsuite/binutils-all/note-4-32.s: Likewise. - * testsuite/binutils-all/note-4-64.d: Likewise. - * testsuite/binutils-all/note-4-64.s: Likewise. - * testsuite/binutils-all/note-6-32.s: New test source file. - * testsuite/binutils-all/note-6-64.s: New test source file. - * testsuite/binutils-all/note-6-32.d: New test driver file. - * testsuite/binutils-all/note-6-64.d: New test driver file. - * testsuite/binutils-all/objcopy.exp: Run the new test. - -2019-10-25 Alan Modra - - * readelf.c (process_program_headers): Check PT_PHDR p_offset - as well as p_vaddr. Use p_filesz, not p_memsz, in vaddr test. - -2019-10-21 Alan Modra - - PR 452 - PR 25104 - * ar.c (write_archive): Set BFD_ARCHIVE_FULL_PATH. - * doc/binutils.texi (extract from archive): Mention - restrictions when extracting from archives with full paths. - (ar P): Update to current P support. - (ar -X32_64): Fix spelling. - -2019-10-14 Alan Modra - - * objcopy.c (compare_section_lma): Correct comment. Dereference - section pointer earlier and lose unnecessary const. Style fixes. - Add final sort by id. - -2019-10-13 Nick Clifton - - * README-how-to-make-a-release: Add a note to reset the - development flag back to true after making a point release. - -2019-10-12 Nick Clifton - - * README-how-to-make-a-release: Tweak a few sections based on the - results of the 2.33.1 release. - -2019-10-11 Nick Clifton - - * po/zh_TW.po: Updated Chinese (traditional) translation. - -2019-10-09 Alan Modra - - PR 25079 - * ar.c (decode_options): Don't try for command options if - write_armap or mri_mode is selected. - -2019-10-07 Jozef Lawrynowicz - - * readelf.c (display_msp430_gnu_attribute): New. - (process_arch_specific): Use msp430 specific handler for GNU - attributes. - -2019-09-30 Nick Alcock - - * objdump.c (main): Fix tabdamage. - * readelf.c (CTF_DUMP): Likewise. - (options): Likewise. - (dump_section_as_ctf): Likewise. - -2019-08-03 Nick Alcock - - * objdump.c (dump_ctf): Use the default CTF archive member as the - parent even when no parent section is specified. - (dump_ctf_archive_member): Only import from the parent - if this is not the default ".ctf" member. - -2019-09-23 Nick Alcock - - * Makefile.am (LIBCTF): Mention the .la file. - (LIBCTF_NOBFD): New. - (readelf_DEPENDENCIES): Use it. - (readelf_LDADD): Likewise. - * Makefile.in: Regenerated. - -2019-07-13 Nick Alcock - - * readelf.c (dump_ctf_symtab_name): Give default value. - (dump_ctf_strtab_name): Likewise. - (dump_section_as_ctf): Allow for the null string. - -2019-07-08 Nick Alcock - - * objdump.c (dump_ctf_archive_member): Dump the CTF header. - * readelf.c (dump_section_as_ctf): Likewise. - -2019-10-02 Niklas Gürtler - - PR 24942 - * objcopy.c (copy_usage): Update description of - --set-section-alignment. - (copy_main): Interpret numeric argument of --set-section-alignment - as a byte alignment, not a power of two alignment. - * doc/binutils.texi: Update description of - --set-section-alignment. - * testsuite/binutils-all/set-section-alignment.d: New test. - * testsuite/binutils-all/objcopy.exp: Run the new test. - -2019-09-30 Alan Modra - - PR 25046 - * readelf.c (process_program_headers): Clear dynamic_addr and - dynamic_size earlier. - -2019-09-24 Alan Modra - - PR 25031 - * nm.c (print_format_string): New. - (get_print_format): Delete saved_format. Move earlier. - (set_print_width): Call get_print_format. - (print_value): Use print_format_string. - -2019-09-23 Alan Modra - - * dlltool.c: Include coff-bfd.h. - -2019-09-23 Alan Modra - - PR 25018 - * dwarf.c (get_type_signedness): Delete ineffective pointer - comparison check. Properly range check uvalue offset on - recursive call. - (read_and_display_attr_value): Range check uvalue offset before - calling get_type_signedness. - -2019-09-20 Alan Modra - - * ar.c (write_archive): Use bfd_set_thin_archive. - -2019-09-18 Tamar Christina - - * testsuite/binutils-all/objdump.exp (objump -S): Update testcases. - -2019-09-18 Alan Modra - - * addr2line.c, * bucomm.c, * coffgrok.c, * dlltool.c, * nm.c, - * objcopy.c, * objdump.c, * od-elf32_avr.c, * od-macho.c, - * od-xcoff.c, * prdbg.c, * rdcoff.c, * rddbg.c, * rescoff.c, - * resres.c, * size.c, * srconv.c, * strings.c, * windmc.c: Update - throughout for bfd section macro and function changes. - -2019-09-18 Alan Modra - - * nm.c: Update bfd_get_section to bfd_asymbol_section throughout. - * objcopy.c: Likewise. - * objdump.c: Likewise. - * rdcoff.c: Likewise. - * objcopy.c (create_new_symbol): Use bfd_set_asymbol_name. - (filter_symbols): Likewise. - -2019-09-18 Simon Marchi - - * doc/Makefile.am (MOSTLYCLEANFILES): Clean all man pages, - cxxfilt.man and binutils.info. - (MAINTAINERCLEANFILES): Remove. - * doc/Makefile.in: Re-generate. - -2019-09-18 Simon Marchi - - * doc/Makefile.am: Remove references to binutils_TEXINFOS. - * doc/Makefile.in: Re-generate. - -2019-09-18 Simon Marchi - - * doc/Makefile.am (install-data-loca): Remove target. - (DISTCLEANFILES): Remove variable. - * doc/Makefile.in: Re-generate. - -2019-09-18 Simon Marchi - - * Makefile.in: Re-generate. - * configure: Re-generate. - * doc/Makefile.in: Re-generate. - -2019-09-16 Phil Blundell - - * Makefile.in, configure. doc/Makefile.in: Regenerated. - -2019-09-11 Tom Tromey - - * objcopy.c (copy_archive): Update. - * bucomm.h (make_tempname, make_tempdir): Make argument const. - * bucomm.c (make_tempname, make_tempdir): Make argument const. - -2019-09-11 Alan Modra - - PR 24907 - * objdump.c (disassemble_bytes): Adjust code to avoid overlong - lines. Correct max_reloc_offset_into_insn test. - -2019-09-10 Nick Clifton - - PR 24907 - * objdump.c (null_print): New function. - (disassemble_bytes): Delete previous_octets local and replace with - a test of the max_reloc_offset_into_insn field of the - bfd_arch_info structure. If a reloc is a potential match for the - next insn, then perform a dummy disassembly in order to calculate - its real length. - -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-09-06 Alan Modra - - * nm.c (print_object_filename_bsd, print_object_filename_sysv), - (print_object_filename_posix, print_archive_filename_bsd), - (print_archive_filename_sysv, print_archive_filename_posix), - (print_archive_member_bsd, print_archive_member_sysv), - (print_archive_member_posix): Constify parameter. - (struct output_fns ), - (): Likewise. - * objcopy.c (copy_archive): Add cast for make_tempdir. - -2019-08-29 Alan Modra - - * dwarf.c (check_uvalue): Remove unnecessary pointer checks. - -2019-08-28 Niklas Gürtler - - PR 24942 - * objcopy.c (SECTION_CONTEXT_SET_ALIGNMENT): New constant. - (struct section_list): Add alignment field. - (command_line_switch): Add OPTION_SET_SECTION_ALIGNMENT. - (copy_options): Add --set-section-alignment. - (copy_usage): Describe --set-section-alignment. - (find_section_list): Initialise the alignment field. - (setup_section): Handle the alignment field. - (copy_main): Handle OPTION_SET_SECTION_ALIGNMENT. - * doc/binutils.texi: Document the new feature. - * NEWS: Mention the new feature. - -2019-08-28 Nick Clifton - - PR 24931 - * objdump.c (source_comment): New static variable. - (option_values): Add OPTION_SOURCE_COMMENT. - (long_opions): Add --source-comment. - (print_line): If source comment is set, use it as a prefix to the - source code line. - (main): Handle OPTION_SOURCE_COMMENT. - * doc/binutils.texi: Document the new option. - * NEWS: Mention the new feature. - * testsuite/binutils-all/objdump.exp (test_objdump_S): Add tests - of the -S and --source-comment options. - -2019-08-27 Nick Clifton - - PR 24510 - * dwarf.c (MAX_CU_NESTING): New constant. - (level_type_signed): New static array. - (skip_attr_bytes): New function. - (get_type_signedness): New function. - (read_and_print_leb128): New function. - (display_discr_list): New function. - (read_and_display_attr_value): Add start parameter. - Use new functions when handling DW_AT_type and DW_AT_discr_list. - (read_and_display_attr): Add start parameter. Pass to - read_and_display_attr_value. - (process_debug_info): Update call to read_and_display_attr. - (display_formatted_table): Likewise. - (display_debug_lines_decoded): Likewise. Also add start - parameter. - (display_debug_lines): Likewise. - * testsuite/binutils-all/dwarf-attributes.S: Update discrimination - lists. - * testsuite/binutils-all/dwarf-attributes.W: Update expected - output. - -2019-08-26 Alan Modra - - PR 24938 - * debug.c (debug_write_type): Call empty_type for NULL type here.. - (debug_write_type): ..rather than in just one case here. - -2019-08-23 Nick Clifton - - PR 24829 - * dwarf.c (check_uvalue): New function. Ensures that a block's - size is valid. - (read_and_display_attr_value): Use check_value when processsing - DW_FORM_block attributes. - -2019-08-22 Nick Clifton - - PR 24921 - * dwarf.c (process_cu_tu_index): Handle the case where a table - does not have any columns. - -2019-08-19 Alan Modra - - PR 24898 - * dwarf.c (display_debug_frames): Use the read_cie check and error - for augmentation data length. - -2019-08-17 Alan Modra - - PR 24911 - * dwarf.c (comp_addr_base): Dereference args. - -2019-08-16 Alan Modra - - PR 24909 - PR 23499 - * readelf.c (get_symbol_version_string): Set sym_info earlier. - -2019-08-15 Nick Clifton - - PR 24767 - * doc/binutils.texi (nm): Document the 'n' symbol type. - -2019-08-15 Christophe Vidal - - * docs/binutils.texi: Fixed notice message disassembler options - section of the man page. - -2019-08-09 Mihailo Stojanovic - - * readelf.c (get_mips_dynamic_type): Return MIPS_XHASH dynamic type. - (get_mips_section_type_name): Return MI{S_XHASH name string. - (dynamic_section_mips_val): Initialize the .MIPS.xhash dynamic - info. - (process_symbol_table): Initialize the .MIPS.xhash section - pointer. Adjust the readelf output to support the new section. - (process_object): Set the .MIPS.xhash dynamic info to zero. - -2019-08-09 Tamar Christina - - * testsuite/binutils-all/arm/in-order-all.d: Skip on pe, wince, coff. - * testsuite/binutils-all/arm/in-order.d: Likewise. - * testsuite/binutils-all/arm/out-of-order-all.d: Likewise. - * testsuite/binutils-all/arm/out-of-order.d: Likewise. - -2019-08-08 Nick Clifton - - PR 24887 - * readelf.c (process_notes_at): Left justify the "Data size" - column heading. - * testsuite/binutils-all/i386/empty.d: Adjust for new output format. - * testsuite/binutils-all/i386/ibt.d: Likewise. - * testsuite/binutils-all/i386/pr21231a.d: Likewise. - * testsuite/binutils-all/i386/pr21231b.d: Likewise. - * testsuite/binutils-all/i386/shstk.d: Likewise. - * testsuite/binutils-all/note-2-32.d: Likewise. - * testsuite/binutils-all/note-2-64.d: Likewise. - * testsuite/binutils-all/x86-64/empty-x32.d: Likewise. - * testsuite/binutils-all/x86-64/empty.d: Likewise. - * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise. - * testsuite/binutils-all/x86-64/ibt.d: Likewise. - * testsuite/binutils-all/x86-64/pr21231a.d: Likewise. - * testsuite/binutils-all/x86-64/pr21231b.d: Likewise. - * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise. - * testsuite/binutils-all/x86-64/pr23494a.d: Likewise. - * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise. - * testsuite/binutils-all/x86-64/pr23494c.d: Likewise. - * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise. - * testsuite/binutils-all/x86-64/pr23494d.d: Likewise. - * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise. - * testsuite/binutils-all/x86-64/pr23494e.d: Likewise. - * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise. - * testsuite/binutils-all/x86-64/shstk.d: Likewise. - -2019-08-08 Nick Clifton - - * testsuite/gentestdlls.c (main): Move declaration of loop - variable outside of the for() statement. - -2019-08-08 Jordan Rupprecht - - * readelf.c (process_note): Mask unknown description data bytes. - -2019-08-08 Alan Modra - - * readelf.c (get_data): Improve overflow checks. - -2019-08-07 Nick Clifton - - PR 24777 - * doc/binutils.texi: Ensure consistent formating of title strings - for man pages. Extend the title of the size man page to be more - informative. - -2019-08-07 Omair Majid - - * testsuite/binutils-all/objdump.exp - (test_objdump_dotnet_assemblies): Fix test to distinguish errors - in parsing simple pei-i386 and pei-x86-64 vs parsing the newly - introduced machine types. - * testsuite/gentestdlls.c (write_simple_dll): New function. - (main): Generate simple and Linux-specific variants of pei-i386 - and pei-x86-64 files so both can be used by tests. - -2019-08-07 Alan Modra - - PR 24876 - * readelf.c (dump_ia64_unwind): Check that buffer is large - enough for "stamp" before reading. - -2019-08-05 Nick Clifton - - PR 24874 - * objcopy.c (merge_gnu_build_notes): Do not insist on the first - note being a version note. - Remove spurious debugging fprintf. - -2019-08-05 Nick Clifton - - PR 24829 - * readelf.c (apply_relocations): Catch potential integer overflow - whilst checking reloc location against section size. - -2019-08-02 Alan Modra - - PR 24871 - * readelf.c (ABSADDR): Delete. - (dump_ia64_unwind): Expand ABSADDR. Check validity of info.section. - -2019-07-29 Martin Liska - - PR 24768 - * nm.c (filter_symbols): Set report_plugin_err if - error is reported. - (display_rel_file): Report error for a missing LTO plugin. - -2019-07-26 Alan Modra - - PR 24798 - * dwarf.c (process_cu_tu_index): Avoid integer overflow on 64-bit - systems by casting ncols and nslots expressions to size_t. Display - number of columns and slots before giving up due to buffer overflow. - Use %u to display unsigned ints. Perform more pointer wrap tests. - -2019-07-25 Tom Tromey - - PR 24809 - * dwarf.c (display_debug_names): Display the contents of the - augmentation string, if it is printable. - -2019-07-25 Nick Clifton - - PR 24837 - * readelf.c (process_mips_specific): Check for buffer overflow - before reading reginfo information. - -2019-07-24 Nick Clifton - - PR 13256 - * ar.c (decode_options): Restart option scanning if no operation - is detected and argument remain to be scanned. - -2019-07-23 Nick Clifton - - PR 24818 - * objdump.c (is_relocateable): Delete. - (load_specific_debug_section): Test the abfd for relocations - directly, rather than relying upon is_relocateable. - (dump_dwarf): Delete initlialization of is_relocateable. - -2019-07-23 Alan Modra - - * readelf.c (get_parisc_segment_type): Split off hpux entries.. - (get_ia64_segment_type): ..and these.. - (get_hpux_segment_type): ..to here. - (get_segment_type): Condition GNU_MBIND on osabi. Use - get_hpux_segment_type. - (get_symbol_binding): Do not print UNIQUE for ELFOSABI_NONE. - (get_symbol_type): Do not print IFUNC for ELFOSABI_NONE. - -2019-07-23 Alan Modra - - * testsuite/binutils-all/objcopy.exp (elf64): Correct object - file used to set this variable. - -2019-07-23 Omar Majid - - * Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects - (GENTESTDLLSPROG): Define. - (TEST_PROGS): Add GENTESTDLLSPROG. - * Makefile.in: Regenerate. - * testsuite/binutils-all/objdump.exp - (test_objdump_dotnet_assemblies): New proc. - Run the new proc. - * testsuite/gentestdlls.c: New source file. - -2019-06-28 Nick Clifton - - PR 24707 - * objdump.c (slurp_symtab): Fail with a helpful error message if - the symbol table is too large. Skip this check for MMO format - files. - -2019-06-26 Nick Clifton - - PR 24703 - * bucomm.c (bfd_nonfatal): If no bfd error code has been set then - indicate this in the output. - (bfd_nonfatal_message): Likewise. - -2019-06-25 Jan Beulich - - * readelf.c (dump_ctf_indent_lines): Rename local variable - "spaces" to "blanks". - -2019-06-25 Jan Beulich - - * objdump.c (dump_ctf_indent_lines): Rename local variable - "spaces" to "blanks". - -2019-06-14 Alan Modra - - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * doc/Makefile.in: Regenerate. - -2019-06-12 Christos Zoulas - - PR 24663 - * readelf.c (process_netbsd_elf_note): Add support for - NT_NETBSD_PAX. - (process_note): Add support for PaX notes. - -2019-06-12 Christos Zoulas - - PR 24665 - * readelf.c (get_netbsd_elfcore_note_type): Add support for SH - core notes. - -2019-06-12 Christos Zoulas - - PR 24664 - * readelf.c (get_netbsd_elfcore_note_type): Add support for NetBSD - auxv notes. - -2019-06-11 Christos Zoulas - - PR 24662 - * readelf.c (get_alpha_symbol_other): New function. - (get_symbol_other): Use for Alpha symbols. - (is_32bit_pcrel_reloc): Add R_VAX_PCREL32. - -2019-06-11 Christos Zoulas - - PR 24661 - * readelf.c (decode_arm_unwind): Ensure that the local variable - 'addr' is always initialised. - -2019-06-10 Christos Zoulas - - PR 24651 - * strings.c (print_strings): Use %u to print unsigned values in - decimal. - -2019-06-10 Christos Zoulas - - PR 24649 - * arsup.c (ar_open): Use asprintf in place of xmalloc and - sprintf. - -2019-06-03 Nick Clifton - - Revert: - 2019-05-29 Nick Clifton - - * configure.ac (LIBCTF): Export. Set to empty for non-ELF based - targets. - (HAVE_LIBCTF): Define if libctf support is available. - * Makefile.am (LIBCTF): Set value to @LIBCTF@. - * objdump.c: Make CTF code conditional upon HAVE_LIBCTF being - defined. - * readelf.c: Likewise. - * configure: Regenerate. - * Makefile.in: Regenerate. - * config.in: Regenerate. - -2019-05-30 Nick Alcock - - * objdump.c (make_ctfsect): Drop cts_type, cts_flags, and - cts_offset. - * readelf.c (shdr_to_ctf_sect): Likewise. - -2019-05-30 Nick Clifton - - PR 24627 - * readelf.c (process_version_sections): Add 0x prefix to address - display. Correct indentation. - -2019-05-30 Alan Modra - - * testsuite/lib/binutils-common.exp (supports_gnu_unique): Add - s12z to targets not supporting this feature. - -2019-05-30 Alan Modra - - * testsuite/lib/binutils-common.exp (run_dump_test): Support - tcl procedures for xfail args. - -2019-05-29 Nick Clifton - - * README-how-to-make-a-release: Add libctf to list of directories - that need updates in their ChangeLogs. - -2019-05-29 Nick Clifton - - * configure.ac (LIBCTF): Export. Set to empty for non-ELF based - targets. - (HAVE_LIBCTF): Define if libctf support is available. - * Makefile.am (LIBCTF): Set value to @LIBCTF@. - * objdump.c: Make CTF code conditional upon HAVE_LIBCTF being - defined. - * readelf.c: Likewise. - * configure: Regenerate. - * Makefile.in: Regenerate. - * config.in: Regenerate. - -2019-05-28 Nick Alcock - - * MAINTAINERS: Add myself as CTF maintainer. - -2019-05-28 Nick Alcock - - * objdump.c (ctf-api.h): New include. - (dump_ctf_section_info): New variable. - (dump_ctf_section_name): Likewise. - (usage): Describe new options. - (enum option_values): Add OPTION_CTF and OPTION_CTF_PARENT. - (main): Use them to add --ctf and --ctf-parent. - (read_section_stabs): Add new parameter, entsize_ptr. - (find_stabs_section): Adjust accordingly. - (make_ctfsect): New. - (dump_ctf_indent_lines): New. - (dump_ctf_archive_member): New. - (dump_ctf): New. - (dump_bfd): Call it. Free resources afterwards. - * readelf.c (ctf-api.h): New include. - (CTF_DUMP): New. - (static bfd_boolean do_ctf): Likewise. - (dump_ctf_parent_name): Likewise. - (dump_ctf_symtab_name): Likewise. - (dump_ctf_strtab_name): Likewise. - (OPTION_CTF_DUMP): Likewise. - (OPTION_CTF_PARENT): Likewise. - (OPTION_CTF_SYMBOLS): Likewise. - (OPTION_CTF_STRINGS): Likewise. - (options): Add them. - (usage): Likewise. - (parse_args): Handle the new options, requesting CTF_DUMP. - (process_section_contents): Handle CTF_DUMP. - (shdr_to_ctf_sect): New. - (dump_ctf_indent_lines): New. - (dump_section_as_ctf): New. - (main): Free resources. - * Makefile.am (LIBCTF): New variable. - (objdump_DEPENDENCIES): Use it. - (readelf_DEPENDENCIES): Likewise. - (objdump_LDADD): Likewise. - (readelf_LDADD): Likewise. - * aclocal.m4: Regenerated. - * Makefile.in: Likewise. - - * doc/binutils.texi (objdump): Document the new options. - (readelf): Likewise. - * doc/ctf.options.texi: New. - * doc/Makefile.in: Regenerated. - * NEWS: Mention the new feature. - -2019-05-27 Alan Modra - - * readelf.c (process_section_groups): Continue processing groups - when sh_entsize exceeds group size. - -2019-05-24 Szabolcs Nagy - - * readelf.c (get_aarch64_dynamic_type): Handle DT_AARCH64_VARIANT_PCS. - (get_aarch64_symbol_other): New, handles STO_AARCH64_VARIANT_PCS. - (get_symbol_other): Call get_aarch64_symbol_other. - -2019-05-24 Alan Modra - - * objdump.c (disassemble_bytes): Set WIDE_OUTPUT in flags. - -2019-05-23 Jose E. Marchesi - - * MAINTAINERS: Add myself as the maintainer for BPF. - -2019-05-23 Jose E. Marchesi - - * readelf.c: Include elf/bpf.h. - (guess_is_rela): Hanle EM_BPF. - (dump_relocations): Likewise. - (is_32bit_abs_reloc): Likewise. - * testsuite/binutils-all/nm.exp: Add bpf-*-* to the list of - ELF targets. - -2019-05-21 Tamar Christina - - * dwarf.c (dwarf_regnames_aarch64): Add SVE registers. - * testsuite/binutils-all/aarch64/sve-dwarf-registers.d: New test. - * testsuite/binutils-all/aarch64/sve-dwarf-registers.s: New test. - -2019-05-20 Faraz Shahbazker - - PR 14798 - * testsuite/binutils-all/readelf.ss-mips: Update reference output. - * testsuite/binutils-all/readelf.ss-tmips: Likewise. - -2019-05-20 Nick Clifton - - * po/ca.po: Updated Catalan translation. - -2019-05-16 Andre Vieira - - * NEWS: Mention Armv8.1-M Mainline and MVE. - -2019-05-16 Andre Vieira - - * readelf.c (arm_attr_tag_MVE_arch): New array for Tag_MVE_arch values. - (arm_attr_public_tag arm_attr_public_tags): Add case for Tag_MVE_arch. - -2019-05-14 Jamey Hicks - - PR 19921 - * objcopy.c: Add new option --verilog-data-width. Use it to set - the value of VerilogDataWidth. - * doc/binutils.texi: Document the new option. - * testsuite/binutils-all/objcopy.exp: Run tests of new option. - * testsuite/binutils-all/verilog-1.hex: New file. - * testsuite/binutils-all/verilog-2.hex: New file. - * testsuite/binutils-all/verilog-4.hex: New file. - * testsuite/binutils-all/verilog-8.hex: New file. - * NEWS: Mention the new feature. - -2019-05-10 Alan Modra - - * testsuite/binutils-all/objdump.exp (test_objdump_disas_limited), - (test_objdump_content_limited): Add text arg, use in place of .text. - (bintest_signed.o): Call get_standard_section_names for name of - text section. - -2019-05-08 Faraz Shahbazker - - * objdump.c (sign_extend_address): New function. - (dump_bfd): Sign-extend user-specified start/stop addresses - for targets that need it. - * testsuite/binutils-all/objdump.exp: Add tests for objdump - with start and stop addresses in higher address ranges. - -2019-05-01 Matthew Malcomson - - * testsuite/binutils-all/objdump.exp: Correct executable - spelling. - * testsuite/binutils-all/compress.exp: Likewise. - -2019-05-01 Nick Clifton - - PR 24507 - * nm.c: (print_format): New variable. - (value_format_32bit, value_format_64bit): Delete. - (set_print_radix): Remove code to alter value_format strings. - (set_output_format): Record chosen format in print_format. - (get_print_format): New function - constructs a printf formatting - string according to the requirements of size, radix, and output - format. - (print_value): Use get_print_format. - * testsuite/binutils-all/nm.exp: Add tests of "nm --format=posix" - and "nm -t d". - -2019-04-30 Alan Modra - - * wrstabs.c (stab_start_class_type): Add assert to work around - gcc9 warning. Tidy. - -2019-04-24 Nick Clifton - - * objcopy.c (strip_main): Do not enable note merging by default if - just stripping debug or dwo information. - * doc/binutils.texi (strip): Update documentation. - -2019-04-23 Nick Clifton - - * README-how-to-make-a-release: Add note to update the symbolic - link from "docs" to "docs-2.x" on the sourceware website. - -2019-04-16 Alan Modra - - * testsuite/binutils-all/copy-2.d: Don't run for ns32k-*-*. - * testsuite/binutils-all/copy-3.d: Likewise. - -2019-04-15 Thomas Preud'homme - - * readelf.c (arm_attr_tag_CPU_arch): Add entry for Armv8.1-M Mainline. - -2019-04-08 H.J. Lu - - * readelf.c (decode_x86_isa): Handle - GNU_PROPERTY_X86_ISA_1_AVX512_BF16. - * testsuite/binutils-all/i386/pr21231b.d: Updated. - * testsuite/binutils-all/x86-64/pr21231b.d: Likewise. - -2019-04-08 H.J. Lu - - * testsuite/binutils-all/nm.exp: Count i386-moss as ELF. - -2019-03-26 Tamar Christina - - * testsuite/binutils-all/aarch64/in-order-all.d: Update. - * testsuite/binutils-all/aarch64/in-order.d: Likewise. - * testsuite/binutils-all/aarch64/out-of-order-all.d: Likewise. - * testsuite/binutils-all/aarch64/out-of-order.d: Likewise. - * testsuite/binutils-all/aarch64/out-of-order.s: Likewise. - * testsuite/binutils-all/arm/in-order-all.d: Likewise. - * testsuite/binutils-all/arm/in-order.d: Likewise. - * testsuite/binutils-all/arm/out-of-order-all.d: Likewise. - * testsuite/binutils-all/arm/out-of-order.d: Likewise. - * testsuite/binutils-all/arm/out-of-order.s: Likewise. - -2019-03-26 Nick Clifton - - * MAINTAINERS: Take over Dave Brolley's maintainerships for FR30, - FRV and MEP. - -2019-03-26 Alan Modra - - * objdump.c (dump_relocs_in_section): Warning fix. - -2019-03-25 Tamar Christina - - * testsuite/binutils-all/arm/in-order-all.d: New test. - * testsuite/binutils-all/arm/in-order.d: New test. - * testsuite/binutils-all/arm/objdump.exp: Support .d tests. - * testsuite/binutils-all/arm/out-of-order-all.d: New test. - * testsuite/binutils-all/arm/out-of-order.T: New test. - * testsuite/binutils-all/arm/out-of-order.d: New test. - * testsuite/binutils-all/arm/out-of-order.s: New test. - - -2019-03-25 Tamar Christina - - * testsuite/binutils-all/aarch64/in-order-all.d: New test. - * testsuite/binutils-all/aarch64/out-of-order-all.d: New test. - * testsuite/binutils-all/aarch64/out-of-order.d: - -2019-03-25 Tamar Christina - - * testsuite/binutils-all/aarch64/in-order.d: New test. - * testsuite/binutils-all/aarch64/out-of-order.d: Disassemble data as - well. - -2019-03-25 Tamar Christina - - * objdump.c (disassemble_bytes): Pass stop_offset. - * testsuite/binutils-all/aarch64/out-of-order.T: New test. - * testsuite/binutils-all/aarch64/out-of-order.d: New test. - * testsuite/binutils-all/aarch64/out-of-order.s: New test. - -2019-03-19 Nick Clifton - - PR 24360 - * objdump.c (load_specific_debug_section): Check that the amount - of memory to be allocated matches the size of the section. - -2019-03-13 Sudakshina Das - - * readelf.c (get_aarch64_dynamic_type): Add case for - DT_AARCH64_PAC_PLT. - (dynamic_section_aarch64_val): Likewise. - -2019-03-13 Sudakshina Das - Szabolcs Nagy - - * readelf.c (get_aarch64_dynamic_type): New. - (get_dynamic_type): Use above for EM_AARCH64. - (dynamic_section_aarch64_val): New. - (process_dynamic_section): Use above for EM_AARCH64. - -2019-03-13 Sudakshina Das - - * readelf.c (decode_aarch64_feature_1_and): New. - (print_gnu_property_note): Add case for AArch64 gnu notes. - -2019-03-12 Alan Modra - - * objdump.c (load_specific_debug_section): Don't compare section - size against file size. - (dump_relocs_in_section): Don't compare reloc size against file size. - Print "failed to read relocs" on bfd_get_reloc_upper_bound error. - -2019-03-05 Nick Clifton - - PR 24295 - * doc/binutils.texi (ar cmdline): Fix spelling mistake. - -2019-03-05 Nick Clifton - - * po/sv.po: Updated Swedish translation. - -2019-03-05 Matthew Malcomson - - PR 24287 - * testsuite/lib/binutils-common.exp (run_dump_test): Replace a use - of "lmap" with a "foreach" loop. - -2019-03-04 Nick Clifton - - PR 24281 - * objcopy.c (copy_archive): Do not copy thin archives. - -2019-02-27 Matthew Malcomson - - * testsuite/lib/binutils-common.exp: Allow multiple "as" lines. - -2019-02-25 Nick Clifton - - * objdump.c (sym_ok): New function. - (find_symbol_for_address): Use new function. - (disassemble_section): Compare sections by name, not pointer. - (dump_dwarf): Move code to initialise byte_get pointer and iterate - over separate debug files from here to ... - (dump_bfd): ... here. Add parameter indicating that a separate - debug info file is being dumped. For main file, pull in the - symbol tables from all separate debug info files. - (display_object): Update call to dump_bfd. - * doc/binutils.texi: Document extened behaviour of the - --dwarf=follow-links option. - * NEWS: Mention this new feature. - * testsuite/binutils-all/objdump.WK2: Update expected output. - * testsuite/binutils-all/objdump.exp (test_follow_debuglink): Add - options and dump file parameters. - Add extra test. - * testsuite/binutils-all/objdump.WK3: New file. - * testsuite/binutils-all/readelf.exp: Change expected output for - readelf -wKis test. - * testsuite/binutils-all/readelf.wKis: New file. - -2019-02-22 Nick Clifton - - PR 23843 - * dwarf.h (struct separate_info): New structure for containing - information on separate debug info files. - * dwarf.c (struct dwo_info): New structure for containing dwo - links. - (first_dwo_info): Chain of dwo_info structures. - (first_separate_file): Chain of separate_info structures. - (separate_debug_file, separate_debug_filename): Delete. - (fetch_alt_indirect_string): Scan all separate debug info files - for the requested string. - (add_dwo_info): New function. - (add_dwo_name): New function. - (add_dwo_dir): New function. - (add_dwo_id: New function. - (free_dwo_info): New function. - (read_and_display_attr_value): Store DWO data using the new - functions. - (load_debug_section_with_follow): If necessary, scan the list of - separate debug info files for the requested section. - (add_separate_debug_file): New function. - (load_separate_debug_info): Call add_separate_debug_file to store - the information on the newly loaded file. - (load_dwo_file): Likewise. - (load_separate_debif_file): Rename to load_separate_debug_files. - Change return type to boolean. If following links then attempt to - load all separate debug info files, not just the first one. - (free_debug_memory): Release memory in dwo_info and separate_info - chains. - * objdump.c (dump_dwarf): Iterate over all loaded debg info files. - * readelf.c (process_object): Likewise. - * doc/debug.options.texi: Update descriptions of links and - follow-links options. - * testsuite/binutils-all/objdump.WK2: Update expected output. - * testsuite/binutils-all/readelf.k2: Likewise. - * NEWS: Announce the new feature. - -2019-02-21 Nick Clifton - - PR 24247 - * unwind-ia64.c: Include sysdep.h. - (unw_decode_x1): Check current pointer against end pointer before - accessing memory. - (unw_decode_x2): Likewise. - (unw_decode_x3): Likewise. - (unw_decode_x4): Likewise. - (unw_decode_r2): Likewise. - (unw_decode_p2_p5): Likewise. - (unw_decode_p7_p10): Likewise. - (unw_decode): Likewise. - -2019-02-20 Nick Clifton - - PR 24246 - * readelf.c (print_stapsdt_note): Harden against corrupt notes. - - PR 24244 - * unwind-ia64.c (unw_decode_uleb128): Add end parameter, use it to - prevent walking off the end of the buffer. - (unw_decode_x1): Add end paramter, pass it to unw_decode_uleb128. - (unw_decode_x2): Likewise. - (unw_decode_x3): Likewise. - (unw_decode_x4): Likewise. - (unw_decode_r2): Pass the end parameter to unw_decode_uleb128. - (unw_decode_r3): Likewise. - (unw_decode_p7_p10): Likewise. - (unw_decode_b2): Likewise. - (unw_decode_b3_x4): Likewise. - - PR 24243 - * readelf.c (process_mips_specific): Check for an options section - that is too small to even contain a single option. - - PR 24242 - * readelf.c (print_ia64_vms_note): Harden against corrupt notes. - -2019-02-20 Alan Modra - - PR 24132 - PR 24138 - * readelf.c (get_data): Avoid possibility of overflow when - checking for a read that may extend past end of file. - (process_program_headers): Likewise. - -2019-02-20 Alan Modra - - PR 24233 - * objdump.c (dump_bfd_private_header): Print warning if - bfd_print_private_bfd_data returns false. - -2019-02-12 Nick Clifton - - PR 23440 - * README-how-to-make-a-release: Use git clean to delete spurious - files from the local source repository. - -2019-02-08 Andrew Burgess - - * size.c (berkeley_format): Delete. - (enum output_format): New enum. - (selected_output_format): New variable. - (usage): Update to mention GNU format. - (main): Update to extract options, and select format as needed. - Handle GNU format where needed. - (berkeley_sum): Renamed to... - (berkeley_or_gnu_sum): ...this, and updated to handle both formats. - (berkeley_format): Renamed to... - (berkeley_or_gnu_format): ...this, and updated to handle both - formats. - (print_sizes): Handle GNU format. - * doc/binutils.texi (size): Document new GNU format. - * testsuite/binutils-all/size.exp: Add test of extended - functionality. - * NEWS: Mention new functionality. - -2019-02-08 Andrew Burgess - - * doc/binutils.texi (size): Update example output for Berkeley - format output. - -2019-02-07 Nick Clifton - - * README-how-to-make-a-release: Add a note about updating the - obsolete targets in the bfd/config.bfd file. - -2019-02-04 Nick Clifton - - * README-how-to-make-a-release: Add more notes on making a release. - -2019-01-25 Nick Clifton - - PR 24131 - * readelf.c (process_notes_at): Prevent an illegal memory access - when the note's namesize is zero. - (decode_tic6x_unwind_bytecode): Add code to handle the case where - no registers are specified in a frame pop instruction. - -2019-01-25 Nick Clifton - - * po/bg.po: Updated Bulgarian translation. - -2019-01-23 Nick Clifton - - * po/fr.po: Updated French translation. - * po/pt.po: Updated Portuguese translation. - -2019-01-21 Nick Clifton - - * po/uk.po: Updated Ukranian translation. - -2019-01-19 Nick Clifton - - * configure: Regenerate. - * binutils/po/binutils.pot. - - * README-how-to-make-a-release: Update description on how to make - a branch. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-17 Nick Clifton - - * objdump.c (disassemble_section): When disassembling from a - symbol only stop at the next symbol if the original symbol was not - a function symbol. Otherwise continue disassembling until a new - function is reached. - * testsuite/binutils-all/objdump.exp: Add tests of extended - functionality. - * testsuite/binutils-all/disasm.s: New test source file. - -2019-01-16 Kito Cheng - Nelson Chu - - * readelf.c (get_riscv_section_type_name): New function. - (get_section_type_name): Add handler for RISC-V. - (riscv_attr_tag_t): Declare. - (riscv_attr_tag): New. - (display_riscv_attribute): New function. - (process_attributes): Add handler for RISC-V. - * testsuite/binutils-all/strip-3.d: Remove .riscv.attribute - section. - -2019-01-10 Nick Clifton - - PR 23963 - * objdump.c (sanitize_string): New function. Removes control - characters from symbol names. - (dump_section_header): Use new function. - (objdump_print_symname): Likewise. - (objdump_print_addr_with_sym): Likewise. - (show_line): Likewise. - (disassemble_bytes): Likewise. - (disassemble_section): Likewise. - (load_specific_debug_section): Likewise. - (read_section_stabs): Likewise. - (print_section_stabs): Likewise. - (dump_section): Likewise. - (dump_reloc_set): Likewise. - (dump_relocs_in_section): Likewise. - (dump_bfd): Likewise. - (display_any_bfd): Likewise. - -2019-01-09 Nick Clifton - - PR 24049 - * readelf.c (process_archive): Use arch.file_name in error - messages until the qualified name is available. - -2019-01-09 Andrew Paprocki - - * configure: Regenerate. - -2019-01-09 Alan Modra - - * testsuite/binutils-all/cxxfilt.exp: Pass --no-strip-underscores - unconditionally to tests needing the option rather than via a - list of targets. - -2019-01-08 Nick Clifton - - PR 24044 - * cxxfilt.c (hp_symbol_characters): Delete. - (main): Remove depcreated demangling styles. - * stabs.c (parse_stab_argtypes): Remove support for old gnu v2 - demangling opnames. - * testsuite/binutils-all/cxxfilt.exp: Use the - --no-strip-underscore option for targets that do prefix their - symbols with underscores. - Update tests to eliminate those that use gnu v2 encoding. - -2019-01-08 Tamar Christina - - PR 24065 - * testsuite/binutils-all/copy-6.d: New test. - * testsuite/binutils-all/objcopy.exp: Use it. - -2019-01-08 Alan Modra - - * testsuite/lib/binutils-common.exp (run_dump_test): Don't prepend - $srcdir/$subdir to source file name if it starts with "./". - -2019-01-05 Yoshinori Sato - - * readelf.c (get_machine_flags): Add RXv3 output. - -2019-01-04 Nick Clifton - - PR 24005 - * objdump.c (load_specific_debug_section): Check for integer - overflow before attempting to allocate contents. - -2019-01-04 Nick Clifton - - PR 24001 - * objcopy.c (copy_object): Free dhandle after writing out the - debug information. - * objdump.c (dump_bfd): Free dhandle after printing out the debug - information. - - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils/ChangeLog-2019 b/binutils/ChangeLog-2019 new file mode 100644 index 00000000000..2e612632715 --- /dev/null +++ b/binutils/ChangeLog-2019 @@ -0,0 +1,1525 @@ +2019-12-30 Alan Modra + + * od-macho.c: Include elfcomm.h. + (dump_dyld_info_rebase, dump_dyld_info_bind): Fix read_leb128 args. + (dump_dyld_info_export_1, dump_segment_split_info): Likewise. + +2019-12-23 Hans-Peter Nilsson + + * dwarf.c (display_debug_lines_decoded): Cast printf parameter to + format type to correct last change. + +2019-12-23 Alan Modra + + * dwarf.h (read_leb128): Update prototype. + (report_leb_status): New inline function. + (SKIP_ULEB, SKIP_SLEB, READ_ULEB, READ_SLEB): Define. + * dwarf.c: Use above macros throughout file. Formatting. + (read_leb128): Reorder params. Add status return param. + Don't stop reading until finding terminator or end of data. + Detect loss of significant bits. Sign extend only on + terminating byte. + (read_sleb128, read_uleb128): Delete functions. + (SKIP_ULEB, SKIP_SLEB, READ_ULEB, READ_SLEB): Delete macros. + (read_and_print_leb128): Rewrite. + (process_extended_line_op): Return a size_t. Use size_t vars. + Adjust to suit new macros. Add proper name size to "data" when + processing DW_LNE_define_file. + (process_abbrev_section): Adjust to suit new macros. + (decode_location_expression, skip_attr_bytes): Likewise. + (get_type_signedness): Likewise. + (read_and_display_attr_value): Likewise. Consolidate block code. + (process_debug_info): Adjust to suit new macros. + (display_formatted_table, display_debug_lines_raw): Likewise. + (display_debug_lines_decoded): Likewise. Properly check for end + of DW_LNS_extended_op. + (display_debug_macinfo): Adjust to suit new macros. + (get_line_filename_and_dirname, display_debug_macro): Likewise. + (display_view_pair_list): Likewise. Don't back off when hitting + end of data. + (display_loc_list): Adjust to suit new macros. + (display_loclists_list, display_loc_list_dwo): Likewise. + (display_debug_rnglists_list, read_cie): Likewise. + (display_debug_frames): Likewise. + * readelf.c: Use new ULEB macros throughout file. + (read_uleb128): Delete. + (decode_arm_unwind_bytecode): Use read_leb128. + (decode_tic6x_unwind_bytecode): Likewise. + (display_tag_value): Adjust to suit new macros. + (display_arc_attribute, display_arm_attribute): Likewise. + (display_gnu_attribute, display_power_gnu_attribute): Likewise. + (display_s390_gnu_attribute, display_sparc_gnu_attribute): Likewise. + (display_mips_gnu_attribute, display_tic6x_attribute): Likewise. + (display_msp430x_attribute, display_msp430_gnu_attribute): Likewise. + (display_riscv_attribute, process_attributes): Likewise. + +2019-12-17 Alan Modra + + * objdump.c (compare_section): New static var. + (compare_symbols): Sort by current section only. Don't access + symbol name out of bounds when checking for file symbols. + Sort section symbols and object symbols. + (find_symbol_for_address): Remove bogus debugging and section + symbol test. + (disassemble_data): Move symbol sort from here.. + (disassemble_section): ..to here. Set compare_section. + +2019-12-17 Alan Modra + + * testsuite/binutils-all/objcopy.exp: Remove tic80 support. + * testsuite/binutils-all/objdump.exp: Likewise. + +2019-12-11 Alan Modra + + * od-xcoff.c (dump_dumpx_core): Adjust for bfd_h_get_8 change. + +2019-12-10 Alan Modra + + PR 24960 + * objdump.c (disassemble_data): Call disassemble_free_target. + +2019-12-10 Alan Modra + + * objdump.c (struct objdump_disasm_info): Delete "sec". + (find_symbol_for_address): Use inf->section rather than aux->sec. + (objdump_print_addr, disassemble_bytes): Likewise. + (disassemble_section): Don't set aux->sec. + +2019-12-08 Alan Modra + + * testsuite/lib/binutils-common.exp (regexp_diff): Support #?REGEXP. + +2019-11-22 Andrew Burgess + + * dwarf.c (regname_internal_riscv): New function. + (init_dwarf_regnames_riscv): Use new function. + +2019-11-22 Andrew Burgess + + * dwarf.c (typedef dwarf_regname_lookup_ftype): New typedef. + (dwarf_regnames_lookup_func): New static global. + (init_dwarf_regnames_i386): Set dwarf_regnames_lookup_func. + (init_dwarf_regnames_iamcu): Likewise. + (init_dwarf_regnames_x86_64): Likewise. + (init_dwarf_regnames_aarch64): Likewise. + (init_dwarf_regnames_s390): Likewise. + (init_dwarf_regnames_riscv): Likewise. + (init_dwarf_regnames_by_elf_machine_code): Reset + dwarf_regnames_lookup_func to NULL. + (init_dwarf_regnames_by_bfd_arch_and_mach): Likewise. + (regname_internal_by_table_only): New function. + (regname): Make use of dwarf_regnames_lookup_func. + +2019-11-22 Andrew Burgess + + * dwarf.c (init_dwarf_regnames_i386): Make static. + (init_dwarf_regnames_iamcu): Make static. + (init_dwarf_regnames_x86_64): Make static. + (init_dwarf_regnames_aarch64): Make static. + (init_dwarf_regnames_s390): Make static. + (init_dwarf_regnames_riscv): Make static. + * dwarf.h (init_dwarf_regnames_i386): Delete declaration. + (init_dwarf_regnames_iamcu): Delete declaration. + (init_dwarf_regnames_x86_64): Delete declaration. + (init_dwarf_regnames_aarch64): Delete declaration. + (init_dwarf_regnames_s390): Delete declaration. + (init_dwarf_regnames_riscv): Delete declaration. + +2019-11-22 Andrew Burgess + + * dwarf.c (init_dwarf_regnames_by_bfd_arch_and_mach): New + function. + * dwarf.h (init_dwarf_regnames_by_bfd_arch_and_mach): Declare. + * objdump.c (dump_dwarf): Call new function instead of calling + specific initialization routines. Restrucure so that eh_addr_size + is still calculated correctly. + +2019-11-22 Andrew Burgess + + * dwarf.c (init_dwarf_regnames): Renamed to... + (init_dwarf_regnames_by_elf_machine_code): ...this. + * dwarf.h (init_dwarf_regnames): Renamed to... + (init_dwarf_regnames_by_elf_machine_code): ...this. + * readelf.c (process_file_header): Update call to use new name. + +2019-11-22 Andrew Burgess + + * dwarf.c (frame_need_space): Compare dwarf_regnames_count against + 0, and only warn about large numbers of registers if the number is + more than the dwarf_regnames_count. + +2019-11-25 Christian Eggers + + * objdump.c (disassemble_data): Provide section parameter to + bfd_octets_per_byte. + (dump_section): likewise + (dump_section_header): likewise. Show SEC_ELF_OCTETS flag if set. + +2019-11-21 Alan Modra + + PR 273 + * size.c (sysv_internal_sizer, sysv_internal_printer): Exclude + sections with no flag bits set. + * testsuite/binutils-all/size.exp: Allow $CODE$ as a text section. + +2019-11-21 Nick Clifton + + * objcopy.c (merge_gnu_build_notes): Allow for the possibility + that the new notes might actually be larger than the original + notes. + +2019-11-21 Alan Modra + + * testsuite/lib/binutils-common.exp (is_pecoff_format): Rewrite + with positive logic and add more target triples. + +2019-11-19 Alan Modra + + PR 24499 + * objcopy.c (copy_file): Ignore --add-gnu-debuglink for archives. + +2019-11-19 Alan Modra + + PR 24968 + * objcopy.c (copy_object): For ELF output and non-ELF input without + arch, take arch from output file if not given by -B. Don't + bfd_get_arch_info when we already have iarch. + +2019-11-19 Alan Modra + + PR 25191 + * objcopy.c (is_nondebug_keep_contents_section): Use bfd_get_flavour. + (copy_object): Likewise. + (setup_section): Likewise. If flavour of input and output files + differ, restrict section flags to the intersection of input and + output bfd_applicable_section_flags. + +2019-11-19 Alan Modra + + * bucomm.c (bfd_nonfatal_message): Add a space between program + name and file. + +2019-11-18 Alan Modra + + PR 25198 + * prdbg.c (tg_start_class_type): Correct scope of idbuf. + +2019-11-08 Alan Modra + + PR 25172 + * objdump.c (usage): Correct --stop-address description. + +2019-11-07 Nick Clifton + + * ar.c (open_output_file): Check for filename validity before + prefixing with output directory. + Display the constructed output filename if in verbose mode. + (extract_file): Let open_output_file display the filename. + +2019-11-07 Nick Clifton + + * objcopy.c (copy_object): Skip note sections that do not have + an output section. Always copy note sections, even if no + changes are made. + +2019-11-06 Christian Eggers + + * readelf.c (IN_RANGE): Rename parameter OFF to NELEM. Add + comment. Catch potential integer overflow and fix off by one + error whilst checking reloc location against section size. + (apply_relocations): Use IN_RANGE macro. + +2019-11-04 Fangrui Song + + * objcopy.c (enum option_values): Add OPTION_KEEP_SECTION. + (SECTION_CONTEXT_KEEP): Define. Adjust other SECTION_CONTEXT macros. + (copy_usage): Describe --keep-section. + (strip_usage): Likewise. + (copy_main): Handle SECTION_CONTEXT_KEEP. + (strip_main): Likewise. + (is_strip_section_1): Likewise. + * testsuite/binutils-all/objcopy.exp: Add tests. + * testsuite/binutils-all/keep-section-1.d: New test driver file. + * testsuite/binutils-all/keep-section-2.d: Likewise. + * doc/binutils.texi: Document the new feature. + * NEWS: Mention the new feature. + +2019-10-20 Palmer Dabbelt + + * MAINTAINERS: Change palmer@sifive.com to palmer@dabbelt.com. + +2019-10-30 Fangrui Song + Nick Clifton + + * ar.c (emum long option numbers): Declare. Use to provide + numerical values for long options. + (long_options): Add --output option. + (usage): Mention the --output option. + (open_output_file): New function. Create a filepath for an output + file and open it. + (extract_file): Use open_output_file(). + (open_output_file): + * testsuite/binutils-all/ar.exp: Add a test of the new feature. + * doc/binutils.texi: Document the new feature. + * NEWS: Mention the new feature. + +2019-10-26 Alan Modra + + * objcopy.c (sort_gnu_build_notes): Correct sort of deleted + note2. + +2019-10-25 H.J. Lu + + * elfedit.c (elf_x86_feature): Report unknown x86 feature. + +2019-10-25 H.J. Lu + + * elfedit.c (update_gnu_property): Replace BYTE_PUT with byte_put. + +2019-10-25 Nick Clifton + + * objcopy.c (struct merged_note_section): New structure. Used to + chain together details of mergeable note sections. + (is_merged_note_section): Rename to is_megreable_note_section and + return true for note sections that use GNU_BUILD_ATTRS_SECTION_NAME + as a prefix. + (num_bytes): Delete + (objcoopy_internal_note): Add padded_namesz field. + (DEBUG_MERGE): New macro. Set to non-zero to enable debugging of + the note merging code. + (gap_exists): Rename to overlaps_or_adjoins and return TRUE for + overlapping notes or adjoining notes. + (contained_by, is_deleted_note, is_version_note) + (compare_gnu_build_notes, sort_gnu_build_notes): New functions. + (merge_gnu_build_notes): Rework. Sort notes into a mergeable + order first. Merge them. Then sort them into an ascending + address order before writing them out. + (copy_object): Handle more than one mergeable note section. + * testsuite/binutils-all/note-2-32.d: Update for new merging + behaviour. + * testsuite/binutils-all/note-2-32.s: Likewise. + * testsuite/binutils-all/note-2-64.d: Likewise. + * testsuite/binutils-all/note-2-64.s: Likewise. + * testsuite/binutils-all/note-3-32.d: Likewise. + * testsuite/binutils-all/note-3-32.s: Likewise. + * testsuite/binutils-all/note-3-64.d: Likewise. + * testsuite/binutils-all/note-3-64.s: Likewise. + * testsuite/binutils-all/note-4-32.d: Likewise. + * testsuite/binutils-all/note-4-32.s: Likewise. + * testsuite/binutils-all/note-4-64.d: Likewise. + * testsuite/binutils-all/note-4-64.s: Likewise. + * testsuite/binutils-all/note-6-32.s: New test source file. + * testsuite/binutils-all/note-6-64.s: New test source file. + * testsuite/binutils-all/note-6-32.d: New test driver file. + * testsuite/binutils-all/note-6-64.d: New test driver file. + * testsuite/binutils-all/objcopy.exp: Run the new test. + +2019-10-25 Alan Modra + + * readelf.c (process_program_headers): Check PT_PHDR p_offset + as well as p_vaddr. Use p_filesz, not p_memsz, in vaddr test. + +2019-10-21 Alan Modra + + PR 452 + PR 25104 + * ar.c (write_archive): Set BFD_ARCHIVE_FULL_PATH. + * doc/binutils.texi (extract from archive): Mention + restrictions when extracting from archives with full paths. + (ar P): Update to current P support. + (ar -X32_64): Fix spelling. + +2019-10-14 Alan Modra + + * objcopy.c (compare_section_lma): Correct comment. Dereference + section pointer earlier and lose unnecessary const. Style fixes. + Add final sort by id. + +2019-10-13 Nick Clifton + + * README-how-to-make-a-release: Add a note to reset the + development flag back to true after making a point release. + +2019-10-12 Nick Clifton + + * README-how-to-make-a-release: Tweak a few sections based on the + results of the 2.33.1 release. + +2019-10-11 Nick Clifton + + * po/zh_TW.po: Updated Chinese (traditional) translation. + +2019-10-09 Alan Modra + + PR 25079 + * ar.c (decode_options): Don't try for command options if + write_armap or mri_mode is selected. + +2019-10-07 Jozef Lawrynowicz + + * readelf.c (display_msp430_gnu_attribute): New. + (process_arch_specific): Use msp430 specific handler for GNU + attributes. + +2019-09-30 Nick Alcock + + * objdump.c (main): Fix tabdamage. + * readelf.c (CTF_DUMP): Likewise. + (options): Likewise. + (dump_section_as_ctf): Likewise. + +2019-08-03 Nick Alcock + + * objdump.c (dump_ctf): Use the default CTF archive member as the + parent even when no parent section is specified. + (dump_ctf_archive_member): Only import from the parent + if this is not the default ".ctf" member. + +2019-09-23 Nick Alcock + + * Makefile.am (LIBCTF): Mention the .la file. + (LIBCTF_NOBFD): New. + (readelf_DEPENDENCIES): Use it. + (readelf_LDADD): Likewise. + * Makefile.in: Regenerated. + +2019-07-13 Nick Alcock + + * readelf.c (dump_ctf_symtab_name): Give default value. + (dump_ctf_strtab_name): Likewise. + (dump_section_as_ctf): Allow for the null string. + +2019-07-08 Nick Alcock + + * objdump.c (dump_ctf_archive_member): Dump the CTF header. + * readelf.c (dump_section_as_ctf): Likewise. + +2019-10-02 Niklas Gürtler + + PR 24942 + * objcopy.c (copy_usage): Update description of + --set-section-alignment. + (copy_main): Interpret numeric argument of --set-section-alignment + as a byte alignment, not a power of two alignment. + * doc/binutils.texi: Update description of + --set-section-alignment. + * testsuite/binutils-all/set-section-alignment.d: New test. + * testsuite/binutils-all/objcopy.exp: Run the new test. + +2019-09-30 Alan Modra + + PR 25046 + * readelf.c (process_program_headers): Clear dynamic_addr and + dynamic_size earlier. + +2019-09-24 Alan Modra + + PR 25031 + * nm.c (print_format_string): New. + (get_print_format): Delete saved_format. Move earlier. + (set_print_width): Call get_print_format. + (print_value): Use print_format_string. + +2019-09-23 Alan Modra + + * dlltool.c: Include coff-bfd.h. + +2019-09-23 Alan Modra + + PR 25018 + * dwarf.c (get_type_signedness): Delete ineffective pointer + comparison check. Properly range check uvalue offset on + recursive call. + (read_and_display_attr_value): Range check uvalue offset before + calling get_type_signedness. + +2019-09-20 Alan Modra + + * ar.c (write_archive): Use bfd_set_thin_archive. + +2019-09-18 Tamar Christina + + * testsuite/binutils-all/objdump.exp (objump -S): Update testcases. + +2019-09-18 Alan Modra + + * addr2line.c, * bucomm.c, * coffgrok.c, * dlltool.c, * nm.c, + * objcopy.c, * objdump.c, * od-elf32_avr.c, * od-macho.c, + * od-xcoff.c, * prdbg.c, * rdcoff.c, * rddbg.c, * rescoff.c, + * resres.c, * size.c, * srconv.c, * strings.c, * windmc.c: Update + throughout for bfd section macro and function changes. + +2019-09-18 Alan Modra + + * nm.c: Update bfd_get_section to bfd_asymbol_section throughout. + * objcopy.c: Likewise. + * objdump.c: Likewise. + * rdcoff.c: Likewise. + * objcopy.c (create_new_symbol): Use bfd_set_asymbol_name. + (filter_symbols): Likewise. + +2019-09-18 Simon Marchi + + * doc/Makefile.am (MOSTLYCLEANFILES): Clean all man pages, + cxxfilt.man and binutils.info. + (MAINTAINERCLEANFILES): Remove. + * doc/Makefile.in: Re-generate. + +2019-09-18 Simon Marchi + + * doc/Makefile.am: Remove references to binutils_TEXINFOS. + * doc/Makefile.in: Re-generate. + +2019-09-18 Simon Marchi + + * doc/Makefile.am (install-data-loca): Remove target. + (DISTCLEANFILES): Remove variable. + * doc/Makefile.in: Re-generate. + +2019-09-18 Simon Marchi + + * Makefile.in: Re-generate. + * configure: Re-generate. + * doc/Makefile.in: Re-generate. + +2019-09-16 Phil Blundell + + * Makefile.in, configure. doc/Makefile.in: Regenerated. + +2019-09-11 Tom Tromey + + * objcopy.c (copy_archive): Update. + * bucomm.h (make_tempname, make_tempdir): Make argument const. + * bucomm.c (make_tempname, make_tempdir): Make argument const. + +2019-09-11 Alan Modra + + PR 24907 + * objdump.c (disassemble_bytes): Adjust code to avoid overlong + lines. Correct max_reloc_offset_into_insn test. + +2019-09-10 Nick Clifton + + PR 24907 + * objdump.c (null_print): New function. + (disassemble_bytes): Delete previous_octets local and replace with + a test of the max_reloc_offset_into_insn field of the + bfd_arch_info structure. If a reloc is a potential match for the + next insn, then perform a dummy disassembly in order to calculate + its real length. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-09-06 Alan Modra + + * nm.c (print_object_filename_bsd, print_object_filename_sysv), + (print_object_filename_posix, print_archive_filename_bsd), + (print_archive_filename_sysv, print_archive_filename_posix), + (print_archive_member_bsd, print_archive_member_sysv), + (print_archive_member_posix): Constify parameter. + (struct output_fns ), + (): Likewise. + * objcopy.c (copy_archive): Add cast for make_tempdir. + +2019-08-29 Alan Modra + + * dwarf.c (check_uvalue): Remove unnecessary pointer checks. + +2019-08-28 Niklas Gürtler + + PR 24942 + * objcopy.c (SECTION_CONTEXT_SET_ALIGNMENT): New constant. + (struct section_list): Add alignment field. + (command_line_switch): Add OPTION_SET_SECTION_ALIGNMENT. + (copy_options): Add --set-section-alignment. + (copy_usage): Describe --set-section-alignment. + (find_section_list): Initialise the alignment field. + (setup_section): Handle the alignment field. + (copy_main): Handle OPTION_SET_SECTION_ALIGNMENT. + * doc/binutils.texi: Document the new feature. + * NEWS: Mention the new feature. + +2019-08-28 Nick Clifton + + PR 24931 + * objdump.c (source_comment): New static variable. + (option_values): Add OPTION_SOURCE_COMMENT. + (long_opions): Add --source-comment. + (print_line): If source comment is set, use it as a prefix to the + source code line. + (main): Handle OPTION_SOURCE_COMMENT. + * doc/binutils.texi: Document the new option. + * NEWS: Mention the new feature. + * testsuite/binutils-all/objdump.exp (test_objdump_S): Add tests + of the -S and --source-comment options. + +2019-08-27 Nick Clifton + + PR 24510 + * dwarf.c (MAX_CU_NESTING): New constant. + (level_type_signed): New static array. + (skip_attr_bytes): New function. + (get_type_signedness): New function. + (read_and_print_leb128): New function. + (display_discr_list): New function. + (read_and_display_attr_value): Add start parameter. + Use new functions when handling DW_AT_type and DW_AT_discr_list. + (read_and_display_attr): Add start parameter. Pass to + read_and_display_attr_value. + (process_debug_info): Update call to read_and_display_attr. + (display_formatted_table): Likewise. + (display_debug_lines_decoded): Likewise. Also add start + parameter. + (display_debug_lines): Likewise. + * testsuite/binutils-all/dwarf-attributes.S: Update discrimination + lists. + * testsuite/binutils-all/dwarf-attributes.W: Update expected + output. + +2019-08-26 Alan Modra + + PR 24938 + * debug.c (debug_write_type): Call empty_type for NULL type here.. + (debug_write_type): ..rather than in just one case here. + +2019-08-23 Nick Clifton + + PR 24829 + * dwarf.c (check_uvalue): New function. Ensures that a block's + size is valid. + (read_and_display_attr_value): Use check_value when processsing + DW_FORM_block attributes. + +2019-08-22 Nick Clifton + + PR 24921 + * dwarf.c (process_cu_tu_index): Handle the case where a table + does not have any columns. + +2019-08-19 Alan Modra + + PR 24898 + * dwarf.c (display_debug_frames): Use the read_cie check and error + for augmentation data length. + +2019-08-17 Alan Modra + + PR 24911 + * dwarf.c (comp_addr_base): Dereference args. + +2019-08-16 Alan Modra + + PR 24909 + PR 23499 + * readelf.c (get_symbol_version_string): Set sym_info earlier. + +2019-08-15 Nick Clifton + + PR 24767 + * doc/binutils.texi (nm): Document the 'n' symbol type. + +2019-08-15 Christophe Vidal + + * docs/binutils.texi: Fixed notice message disassembler options + section of the man page. + +2019-08-09 Mihailo Stojanovic + + * readelf.c (get_mips_dynamic_type): Return MIPS_XHASH dynamic type. + (get_mips_section_type_name): Return MI{S_XHASH name string. + (dynamic_section_mips_val): Initialize the .MIPS.xhash dynamic + info. + (process_symbol_table): Initialize the .MIPS.xhash section + pointer. Adjust the readelf output to support the new section. + (process_object): Set the .MIPS.xhash dynamic info to zero. + +2019-08-09 Tamar Christina + + * testsuite/binutils-all/arm/in-order-all.d: Skip on pe, wince, coff. + * testsuite/binutils-all/arm/in-order.d: Likewise. + * testsuite/binutils-all/arm/out-of-order-all.d: Likewise. + * testsuite/binutils-all/arm/out-of-order.d: Likewise. + +2019-08-08 Nick Clifton + + PR 24887 + * readelf.c (process_notes_at): Left justify the "Data size" + column heading. + * testsuite/binutils-all/i386/empty.d: Adjust for new output format. + * testsuite/binutils-all/i386/ibt.d: Likewise. + * testsuite/binutils-all/i386/pr21231a.d: Likewise. + * testsuite/binutils-all/i386/pr21231b.d: Likewise. + * testsuite/binutils-all/i386/shstk.d: Likewise. + * testsuite/binutils-all/note-2-32.d: Likewise. + * testsuite/binutils-all/note-2-64.d: Likewise. + * testsuite/binutils-all/x86-64/empty-x32.d: Likewise. + * testsuite/binutils-all/x86-64/empty.d: Likewise. + * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise. + * testsuite/binutils-all/x86-64/ibt.d: Likewise. + * testsuite/binutils-all/x86-64/pr21231a.d: Likewise. + * testsuite/binutils-all/x86-64/pr21231b.d: Likewise. + * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise. + * testsuite/binutils-all/x86-64/pr23494a.d: Likewise. + * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise. + * testsuite/binutils-all/x86-64/pr23494c.d: Likewise. + * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise. + * testsuite/binutils-all/x86-64/pr23494d.d: Likewise. + * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise. + * testsuite/binutils-all/x86-64/pr23494e.d: Likewise. + * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise. + * testsuite/binutils-all/x86-64/shstk.d: Likewise. + +2019-08-08 Nick Clifton + + * testsuite/gentestdlls.c (main): Move declaration of loop + variable outside of the for() statement. + +2019-08-08 Jordan Rupprecht + + * readelf.c (process_note): Mask unknown description data bytes. + +2019-08-08 Alan Modra + + * readelf.c (get_data): Improve overflow checks. + +2019-08-07 Nick Clifton + + PR 24777 + * doc/binutils.texi: Ensure consistent formating of title strings + for man pages. Extend the title of the size man page to be more + informative. + +2019-08-07 Omair Majid + + * testsuite/binutils-all/objdump.exp + (test_objdump_dotnet_assemblies): Fix test to distinguish errors + in parsing simple pei-i386 and pei-x86-64 vs parsing the newly + introduced machine types. + * testsuite/gentestdlls.c (write_simple_dll): New function. + (main): Generate simple and Linux-specific variants of pei-i386 + and pei-x86-64 files so both can be used by tests. + +2019-08-07 Alan Modra + + PR 24876 + * readelf.c (dump_ia64_unwind): Check that buffer is large + enough for "stamp" before reading. + +2019-08-05 Nick Clifton + + PR 24874 + * objcopy.c (merge_gnu_build_notes): Do not insist on the first + note being a version note. + Remove spurious debugging fprintf. + +2019-08-05 Nick Clifton + + PR 24829 + * readelf.c (apply_relocations): Catch potential integer overflow + whilst checking reloc location against section size. + +2019-08-02 Alan Modra + + PR 24871 + * readelf.c (ABSADDR): Delete. + (dump_ia64_unwind): Expand ABSADDR. Check validity of info.section. + +2019-07-29 Martin Liska + + PR 24768 + * nm.c (filter_symbols): Set report_plugin_err if + error is reported. + (display_rel_file): Report error for a missing LTO plugin. + +2019-07-26 Alan Modra + + PR 24798 + * dwarf.c (process_cu_tu_index): Avoid integer overflow on 64-bit + systems by casting ncols and nslots expressions to size_t. Display + number of columns and slots before giving up due to buffer overflow. + Use %u to display unsigned ints. Perform more pointer wrap tests. + +2019-07-25 Tom Tromey + + PR 24809 + * dwarf.c (display_debug_names): Display the contents of the + augmentation string, if it is printable. + +2019-07-25 Nick Clifton + + PR 24837 + * readelf.c (process_mips_specific): Check for buffer overflow + before reading reginfo information. + +2019-07-24 Nick Clifton + + PR 13256 + * ar.c (decode_options): Restart option scanning if no operation + is detected and argument remain to be scanned. + +2019-07-23 Nick Clifton + + PR 24818 + * objdump.c (is_relocateable): Delete. + (load_specific_debug_section): Test the abfd for relocations + directly, rather than relying upon is_relocateable. + (dump_dwarf): Delete initlialization of is_relocateable. + +2019-07-23 Alan Modra + + * readelf.c (get_parisc_segment_type): Split off hpux entries.. + (get_ia64_segment_type): ..and these.. + (get_hpux_segment_type): ..to here. + (get_segment_type): Condition GNU_MBIND on osabi. Use + get_hpux_segment_type. + (get_symbol_binding): Do not print UNIQUE for ELFOSABI_NONE. + (get_symbol_type): Do not print IFUNC for ELFOSABI_NONE. + +2019-07-23 Alan Modra + + * testsuite/binutils-all/objcopy.exp (elf64): Correct object + file used to set this variable. + +2019-07-23 Omar Majid + + * Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects + (GENTESTDLLSPROG): Define. + (TEST_PROGS): Add GENTESTDLLSPROG. + * Makefile.in: Regenerate. + * testsuite/binutils-all/objdump.exp + (test_objdump_dotnet_assemblies): New proc. + Run the new proc. + * testsuite/gentestdlls.c: New source file. + +2019-06-28 Nick Clifton + + PR 24707 + * objdump.c (slurp_symtab): Fail with a helpful error message if + the symbol table is too large. Skip this check for MMO format + files. + +2019-06-26 Nick Clifton + + PR 24703 + * bucomm.c (bfd_nonfatal): If no bfd error code has been set then + indicate this in the output. + (bfd_nonfatal_message): Likewise. + +2019-06-25 Jan Beulich + + * readelf.c (dump_ctf_indent_lines): Rename local variable + "spaces" to "blanks". + +2019-06-25 Jan Beulich + + * objdump.c (dump_ctf_indent_lines): Rename local variable + "spaces" to "blanks". + +2019-06-14 Alan Modra + + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * doc/Makefile.in: Regenerate. + +2019-06-12 Christos Zoulas + + PR 24663 + * readelf.c (process_netbsd_elf_note): Add support for + NT_NETBSD_PAX. + (process_note): Add support for PaX notes. + +2019-06-12 Christos Zoulas + + PR 24665 + * readelf.c (get_netbsd_elfcore_note_type): Add support for SH + core notes. + +2019-06-12 Christos Zoulas + + PR 24664 + * readelf.c (get_netbsd_elfcore_note_type): Add support for NetBSD + auxv notes. + +2019-06-11 Christos Zoulas + + PR 24662 + * readelf.c (get_alpha_symbol_other): New function. + (get_symbol_other): Use for Alpha symbols. + (is_32bit_pcrel_reloc): Add R_VAX_PCREL32. + +2019-06-11 Christos Zoulas + + PR 24661 + * readelf.c (decode_arm_unwind): Ensure that the local variable + 'addr' is always initialised. + +2019-06-10 Christos Zoulas + + PR 24651 + * strings.c (print_strings): Use %u to print unsigned values in + decimal. + +2019-06-10 Christos Zoulas + + PR 24649 + * arsup.c (ar_open): Use asprintf in place of xmalloc and + sprintf. + +2019-06-03 Nick Clifton + + Revert: + 2019-05-29 Nick Clifton + + * configure.ac (LIBCTF): Export. Set to empty for non-ELF based + targets. + (HAVE_LIBCTF): Define if libctf support is available. + * Makefile.am (LIBCTF): Set value to @LIBCTF@. + * objdump.c: Make CTF code conditional upon HAVE_LIBCTF being + defined. + * readelf.c: Likewise. + * configure: Regenerate. + * Makefile.in: Regenerate. + * config.in: Regenerate. + +2019-05-30 Nick Alcock + + * objdump.c (make_ctfsect): Drop cts_type, cts_flags, and + cts_offset. + * readelf.c (shdr_to_ctf_sect): Likewise. + +2019-05-30 Nick Clifton + + PR 24627 + * readelf.c (process_version_sections): Add 0x prefix to address + display. Correct indentation. + +2019-05-30 Alan Modra + + * testsuite/lib/binutils-common.exp (supports_gnu_unique): Add + s12z to targets not supporting this feature. + +2019-05-30 Alan Modra + + * testsuite/lib/binutils-common.exp (run_dump_test): Support + tcl procedures for xfail args. + +2019-05-29 Nick Clifton + + * README-how-to-make-a-release: Add libctf to list of directories + that need updates in their ChangeLogs. + +2019-05-29 Nick Clifton + + * configure.ac (LIBCTF): Export. Set to empty for non-ELF based + targets. + (HAVE_LIBCTF): Define if libctf support is available. + * Makefile.am (LIBCTF): Set value to @LIBCTF@. + * objdump.c: Make CTF code conditional upon HAVE_LIBCTF being + defined. + * readelf.c: Likewise. + * configure: Regenerate. + * Makefile.in: Regenerate. + * config.in: Regenerate. + +2019-05-28 Nick Alcock + + * MAINTAINERS: Add myself as CTF maintainer. + +2019-05-28 Nick Alcock + + * objdump.c (ctf-api.h): New include. + (dump_ctf_section_info): New variable. + (dump_ctf_section_name): Likewise. + (usage): Describe new options. + (enum option_values): Add OPTION_CTF and OPTION_CTF_PARENT. + (main): Use them to add --ctf and --ctf-parent. + (read_section_stabs): Add new parameter, entsize_ptr. + (find_stabs_section): Adjust accordingly. + (make_ctfsect): New. + (dump_ctf_indent_lines): New. + (dump_ctf_archive_member): New. + (dump_ctf): New. + (dump_bfd): Call it. Free resources afterwards. + * readelf.c (ctf-api.h): New include. + (CTF_DUMP): New. + (static bfd_boolean do_ctf): Likewise. + (dump_ctf_parent_name): Likewise. + (dump_ctf_symtab_name): Likewise. + (dump_ctf_strtab_name): Likewise. + (OPTION_CTF_DUMP): Likewise. + (OPTION_CTF_PARENT): Likewise. + (OPTION_CTF_SYMBOLS): Likewise. + (OPTION_CTF_STRINGS): Likewise. + (options): Add them. + (usage): Likewise. + (parse_args): Handle the new options, requesting CTF_DUMP. + (process_section_contents): Handle CTF_DUMP. + (shdr_to_ctf_sect): New. + (dump_ctf_indent_lines): New. + (dump_section_as_ctf): New. + (main): Free resources. + * Makefile.am (LIBCTF): New variable. + (objdump_DEPENDENCIES): Use it. + (readelf_DEPENDENCIES): Likewise. + (objdump_LDADD): Likewise. + (readelf_LDADD): Likewise. + * aclocal.m4: Regenerated. + * Makefile.in: Likewise. + + * doc/binutils.texi (objdump): Document the new options. + (readelf): Likewise. + * doc/ctf.options.texi: New. + * doc/Makefile.in: Regenerated. + * NEWS: Mention the new feature. + +2019-05-27 Alan Modra + + * readelf.c (process_section_groups): Continue processing groups + when sh_entsize exceeds group size. + +2019-05-24 Szabolcs Nagy + + * readelf.c (get_aarch64_dynamic_type): Handle DT_AARCH64_VARIANT_PCS. + (get_aarch64_symbol_other): New, handles STO_AARCH64_VARIANT_PCS. + (get_symbol_other): Call get_aarch64_symbol_other. + +2019-05-24 Alan Modra + + * objdump.c (disassemble_bytes): Set WIDE_OUTPUT in flags. + +2019-05-23 Jose E. Marchesi + + * MAINTAINERS: Add myself as the maintainer for BPF. + +2019-05-23 Jose E. Marchesi + + * readelf.c: Include elf/bpf.h. + (guess_is_rela): Hanle EM_BPF. + (dump_relocations): Likewise. + (is_32bit_abs_reloc): Likewise. + * testsuite/binutils-all/nm.exp: Add bpf-*-* to the list of + ELF targets. + +2019-05-21 Tamar Christina + + * dwarf.c (dwarf_regnames_aarch64): Add SVE registers. + * testsuite/binutils-all/aarch64/sve-dwarf-registers.d: New test. + * testsuite/binutils-all/aarch64/sve-dwarf-registers.s: New test. + +2019-05-20 Faraz Shahbazker + + PR 14798 + * testsuite/binutils-all/readelf.ss-mips: Update reference output. + * testsuite/binutils-all/readelf.ss-tmips: Likewise. + +2019-05-20 Nick Clifton + + * po/ca.po: Updated Catalan translation. + +2019-05-16 Andre Vieira + + * NEWS: Mention Armv8.1-M Mainline and MVE. + +2019-05-16 Andre Vieira + + * readelf.c (arm_attr_tag_MVE_arch): New array for Tag_MVE_arch values. + (arm_attr_public_tag arm_attr_public_tags): Add case for Tag_MVE_arch. + +2019-05-14 Jamey Hicks + + PR 19921 + * objcopy.c: Add new option --verilog-data-width. Use it to set + the value of VerilogDataWidth. + * doc/binutils.texi: Document the new option. + * testsuite/binutils-all/objcopy.exp: Run tests of new option. + * testsuite/binutils-all/verilog-1.hex: New file. + * testsuite/binutils-all/verilog-2.hex: New file. + * testsuite/binutils-all/verilog-4.hex: New file. + * testsuite/binutils-all/verilog-8.hex: New file. + * NEWS: Mention the new feature. + +2019-05-10 Alan Modra + + * testsuite/binutils-all/objdump.exp (test_objdump_disas_limited), + (test_objdump_content_limited): Add text arg, use in place of .text. + (bintest_signed.o): Call get_standard_section_names for name of + text section. + +2019-05-08 Faraz Shahbazker + + * objdump.c (sign_extend_address): New function. + (dump_bfd): Sign-extend user-specified start/stop addresses + for targets that need it. + * testsuite/binutils-all/objdump.exp: Add tests for objdump + with start and stop addresses in higher address ranges. + +2019-05-01 Matthew Malcomson + + * testsuite/binutils-all/objdump.exp: Correct executable + spelling. + * testsuite/binutils-all/compress.exp: Likewise. + +2019-05-01 Nick Clifton + + PR 24507 + * nm.c: (print_format): New variable. + (value_format_32bit, value_format_64bit): Delete. + (set_print_radix): Remove code to alter value_format strings. + (set_output_format): Record chosen format in print_format. + (get_print_format): New function - constructs a printf formatting + string according to the requirements of size, radix, and output + format. + (print_value): Use get_print_format. + * testsuite/binutils-all/nm.exp: Add tests of "nm --format=posix" + and "nm -t d". + +2019-04-30 Alan Modra + + * wrstabs.c (stab_start_class_type): Add assert to work around + gcc9 warning. Tidy. + +2019-04-24 Nick Clifton + + * objcopy.c (strip_main): Do not enable note merging by default if + just stripping debug or dwo information. + * doc/binutils.texi (strip): Update documentation. + +2019-04-23 Nick Clifton + + * README-how-to-make-a-release: Add note to update the symbolic + link from "docs" to "docs-2.x" on the sourceware website. + +2019-04-16 Alan Modra + + * testsuite/binutils-all/copy-2.d: Don't run for ns32k-*-*. + * testsuite/binutils-all/copy-3.d: Likewise. + +2019-04-15 Thomas Preud'homme + + * readelf.c (arm_attr_tag_CPU_arch): Add entry for Armv8.1-M Mainline. + +2019-04-08 H.J. Lu + + * readelf.c (decode_x86_isa): Handle + GNU_PROPERTY_X86_ISA_1_AVX512_BF16. + * testsuite/binutils-all/i386/pr21231b.d: Updated. + * testsuite/binutils-all/x86-64/pr21231b.d: Likewise. + +2019-04-08 H.J. Lu + + * testsuite/binutils-all/nm.exp: Count i386-moss as ELF. + +2019-03-26 Tamar Christina + + * testsuite/binutils-all/aarch64/in-order-all.d: Update. + * testsuite/binutils-all/aarch64/in-order.d: Likewise. + * testsuite/binutils-all/aarch64/out-of-order-all.d: Likewise. + * testsuite/binutils-all/aarch64/out-of-order.d: Likewise. + * testsuite/binutils-all/aarch64/out-of-order.s: Likewise. + * testsuite/binutils-all/arm/in-order-all.d: Likewise. + * testsuite/binutils-all/arm/in-order.d: Likewise. + * testsuite/binutils-all/arm/out-of-order-all.d: Likewise. + * testsuite/binutils-all/arm/out-of-order.d: Likewise. + * testsuite/binutils-all/arm/out-of-order.s: Likewise. + +2019-03-26 Nick Clifton + + * MAINTAINERS: Take over Dave Brolley's maintainerships for FR30, + FRV and MEP. + +2019-03-26 Alan Modra + + * objdump.c (dump_relocs_in_section): Warning fix. + +2019-03-25 Tamar Christina + + * testsuite/binutils-all/arm/in-order-all.d: New test. + * testsuite/binutils-all/arm/in-order.d: New test. + * testsuite/binutils-all/arm/objdump.exp: Support .d tests. + * testsuite/binutils-all/arm/out-of-order-all.d: New test. + * testsuite/binutils-all/arm/out-of-order.T: New test. + * testsuite/binutils-all/arm/out-of-order.d: New test. + * testsuite/binutils-all/arm/out-of-order.s: New test. + + +2019-03-25 Tamar Christina + + * testsuite/binutils-all/aarch64/in-order-all.d: New test. + * testsuite/binutils-all/aarch64/out-of-order-all.d: New test. + * testsuite/binutils-all/aarch64/out-of-order.d: + +2019-03-25 Tamar Christina + + * testsuite/binutils-all/aarch64/in-order.d: New test. + * testsuite/binutils-all/aarch64/out-of-order.d: Disassemble data as + well. + +2019-03-25 Tamar Christina + + * objdump.c (disassemble_bytes): Pass stop_offset. + * testsuite/binutils-all/aarch64/out-of-order.T: New test. + * testsuite/binutils-all/aarch64/out-of-order.d: New test. + * testsuite/binutils-all/aarch64/out-of-order.s: New test. + +2019-03-19 Nick Clifton + + PR 24360 + * objdump.c (load_specific_debug_section): Check that the amount + of memory to be allocated matches the size of the section. + +2019-03-13 Sudakshina Das + + * readelf.c (get_aarch64_dynamic_type): Add case for + DT_AARCH64_PAC_PLT. + (dynamic_section_aarch64_val): Likewise. + +2019-03-13 Sudakshina Das + Szabolcs Nagy + + * readelf.c (get_aarch64_dynamic_type): New. + (get_dynamic_type): Use above for EM_AARCH64. + (dynamic_section_aarch64_val): New. + (process_dynamic_section): Use above for EM_AARCH64. + +2019-03-13 Sudakshina Das + + * readelf.c (decode_aarch64_feature_1_and): New. + (print_gnu_property_note): Add case for AArch64 gnu notes. + +2019-03-12 Alan Modra + + * objdump.c (load_specific_debug_section): Don't compare section + size against file size. + (dump_relocs_in_section): Don't compare reloc size against file size. + Print "failed to read relocs" on bfd_get_reloc_upper_bound error. + +2019-03-05 Nick Clifton + + PR 24295 + * doc/binutils.texi (ar cmdline): Fix spelling mistake. + +2019-03-05 Nick Clifton + + * po/sv.po: Updated Swedish translation. + +2019-03-05 Matthew Malcomson + + PR 24287 + * testsuite/lib/binutils-common.exp (run_dump_test): Replace a use + of "lmap" with a "foreach" loop. + +2019-03-04 Nick Clifton + + PR 24281 + * objcopy.c (copy_archive): Do not copy thin archives. + +2019-02-27 Matthew Malcomson + + * testsuite/lib/binutils-common.exp: Allow multiple "as" lines. + +2019-02-25 Nick Clifton + + * objdump.c (sym_ok): New function. + (find_symbol_for_address): Use new function. + (disassemble_section): Compare sections by name, not pointer. + (dump_dwarf): Move code to initialise byte_get pointer and iterate + over separate debug files from here to ... + (dump_bfd): ... here. Add parameter indicating that a separate + debug info file is being dumped. For main file, pull in the + symbol tables from all separate debug info files. + (display_object): Update call to dump_bfd. + * doc/binutils.texi: Document extened behaviour of the + --dwarf=follow-links option. + * NEWS: Mention this new feature. + * testsuite/binutils-all/objdump.WK2: Update expected output. + * testsuite/binutils-all/objdump.exp (test_follow_debuglink): Add + options and dump file parameters. + Add extra test. + * testsuite/binutils-all/objdump.WK3: New file. + * testsuite/binutils-all/readelf.exp: Change expected output for + readelf -wKis test. + * testsuite/binutils-all/readelf.wKis: New file. + +2019-02-22 Nick Clifton + + PR 23843 + * dwarf.h (struct separate_info): New structure for containing + information on separate debug info files. + * dwarf.c (struct dwo_info): New structure for containing dwo + links. + (first_dwo_info): Chain of dwo_info structures. + (first_separate_file): Chain of separate_info structures. + (separate_debug_file, separate_debug_filename): Delete. + (fetch_alt_indirect_string): Scan all separate debug info files + for the requested string. + (add_dwo_info): New function. + (add_dwo_name): New function. + (add_dwo_dir): New function. + (add_dwo_id: New function. + (free_dwo_info): New function. + (read_and_display_attr_value): Store DWO data using the new + functions. + (load_debug_section_with_follow): If necessary, scan the list of + separate debug info files for the requested section. + (add_separate_debug_file): New function. + (load_separate_debug_info): Call add_separate_debug_file to store + the information on the newly loaded file. + (load_dwo_file): Likewise. + (load_separate_debif_file): Rename to load_separate_debug_files. + Change return type to boolean. If following links then attempt to + load all separate debug info files, not just the first one. + (free_debug_memory): Release memory in dwo_info and separate_info + chains. + * objdump.c (dump_dwarf): Iterate over all loaded debg info files. + * readelf.c (process_object): Likewise. + * doc/debug.options.texi: Update descriptions of links and + follow-links options. + * testsuite/binutils-all/objdump.WK2: Update expected output. + * testsuite/binutils-all/readelf.k2: Likewise. + * NEWS: Announce the new feature. + +2019-02-21 Nick Clifton + + PR 24247 + * unwind-ia64.c: Include sysdep.h. + (unw_decode_x1): Check current pointer against end pointer before + accessing memory. + (unw_decode_x2): Likewise. + (unw_decode_x3): Likewise. + (unw_decode_x4): Likewise. + (unw_decode_r2): Likewise. + (unw_decode_p2_p5): Likewise. + (unw_decode_p7_p10): Likewise. + (unw_decode): Likewise. + +2019-02-20 Nick Clifton + + PR 24246 + * readelf.c (print_stapsdt_note): Harden against corrupt notes. + + PR 24244 + * unwind-ia64.c (unw_decode_uleb128): Add end parameter, use it to + prevent walking off the end of the buffer. + (unw_decode_x1): Add end paramter, pass it to unw_decode_uleb128. + (unw_decode_x2): Likewise. + (unw_decode_x3): Likewise. + (unw_decode_x4): Likewise. + (unw_decode_r2): Pass the end parameter to unw_decode_uleb128. + (unw_decode_r3): Likewise. + (unw_decode_p7_p10): Likewise. + (unw_decode_b2): Likewise. + (unw_decode_b3_x4): Likewise. + + PR 24243 + * readelf.c (process_mips_specific): Check for an options section + that is too small to even contain a single option. + + PR 24242 + * readelf.c (print_ia64_vms_note): Harden against corrupt notes. + +2019-02-20 Alan Modra + + PR 24132 + PR 24138 + * readelf.c (get_data): Avoid possibility of overflow when + checking for a read that may extend past end of file. + (process_program_headers): Likewise. + +2019-02-20 Alan Modra + + PR 24233 + * objdump.c (dump_bfd_private_header): Print warning if + bfd_print_private_bfd_data returns false. + +2019-02-12 Nick Clifton + + PR 23440 + * README-how-to-make-a-release: Use git clean to delete spurious + files from the local source repository. + +2019-02-08 Andrew Burgess + + * size.c (berkeley_format): Delete. + (enum output_format): New enum. + (selected_output_format): New variable. + (usage): Update to mention GNU format. + (main): Update to extract options, and select format as needed. + Handle GNU format where needed. + (berkeley_sum): Renamed to... + (berkeley_or_gnu_sum): ...this, and updated to handle both formats. + (berkeley_format): Renamed to... + (berkeley_or_gnu_format): ...this, and updated to handle both + formats. + (print_sizes): Handle GNU format. + * doc/binutils.texi (size): Document new GNU format. + * testsuite/binutils-all/size.exp: Add test of extended + functionality. + * NEWS: Mention new functionality. + +2019-02-08 Andrew Burgess + + * doc/binutils.texi (size): Update example output for Berkeley + format output. + +2019-02-07 Nick Clifton + + * README-how-to-make-a-release: Add a note about updating the + obsolete targets in the bfd/config.bfd file. + +2019-02-04 Nick Clifton + + * README-how-to-make-a-release: Add more notes on making a release. + +2019-01-25 Nick Clifton + + PR 24131 + * readelf.c (process_notes_at): Prevent an illegal memory access + when the note's namesize is zero. + (decode_tic6x_unwind_bytecode): Add code to handle the case where + no registers are specified in a frame pop instruction. + +2019-01-25 Nick Clifton + + * po/bg.po: Updated Bulgarian translation. + +2019-01-23 Nick Clifton + + * po/fr.po: Updated French translation. + * po/pt.po: Updated Portuguese translation. + +2019-01-21 Nick Clifton + + * po/uk.po: Updated Ukranian translation. + +2019-01-19 Nick Clifton + + * configure: Regenerate. + * binutils/po/binutils.pot. + + * README-how-to-make-a-release: Update description on how to make + a branch. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-17 Nick Clifton + + * objdump.c (disassemble_section): When disassembling from a + symbol only stop at the next symbol if the original symbol was not + a function symbol. Otherwise continue disassembling until a new + function is reached. + * testsuite/binutils-all/objdump.exp: Add tests of extended + functionality. + * testsuite/binutils-all/disasm.s: New test source file. + +2019-01-16 Kito Cheng + Nelson Chu + + * readelf.c (get_riscv_section_type_name): New function. + (get_section_type_name): Add handler for RISC-V. + (riscv_attr_tag_t): Declare. + (riscv_attr_tag): New. + (display_riscv_attribute): New function. + (process_attributes): Add handler for RISC-V. + * testsuite/binutils-all/strip-3.d: Remove .riscv.attribute + section. + +2019-01-10 Nick Clifton + + PR 23963 + * objdump.c (sanitize_string): New function. Removes control + characters from symbol names. + (dump_section_header): Use new function. + (objdump_print_symname): Likewise. + (objdump_print_addr_with_sym): Likewise. + (show_line): Likewise. + (disassemble_bytes): Likewise. + (disassemble_section): Likewise. + (load_specific_debug_section): Likewise. + (read_section_stabs): Likewise. + (print_section_stabs): Likewise. + (dump_section): Likewise. + (dump_reloc_set): Likewise. + (dump_relocs_in_section): Likewise. + (dump_bfd): Likewise. + (display_any_bfd): Likewise. + +2019-01-09 Nick Clifton + + PR 24049 + * readelf.c (process_archive): Use arch.file_name in error + messages until the qualified name is available. + +2019-01-09 Andrew Paprocki + + * configure: Regenerate. + +2019-01-09 Alan Modra + + * testsuite/binutils-all/cxxfilt.exp: Pass --no-strip-underscores + unconditionally to tests needing the option rather than via a + list of targets. + +2019-01-08 Nick Clifton + + PR 24044 + * cxxfilt.c (hp_symbol_characters): Delete. + (main): Remove depcreated demangling styles. + * stabs.c (parse_stab_argtypes): Remove support for old gnu v2 + demangling opnames. + * testsuite/binutils-all/cxxfilt.exp: Use the + --no-strip-underscore option for targets that do prefix their + symbols with underscores. + Update tests to eliminate those that use gnu v2 encoding. + +2019-01-08 Tamar Christina + + PR 24065 + * testsuite/binutils-all/copy-6.d: New test. + * testsuite/binutils-all/objcopy.exp: Use it. + +2019-01-08 Alan Modra + + * testsuite/lib/binutils-common.exp (run_dump_test): Don't prepend + $srcdir/$subdir to source file name if it starts with "./". + +2019-01-05 Yoshinori Sato + + * readelf.c (get_machine_flags): Add RXv3 output. + +2019-01-04 Nick Clifton + + PR 24005 + * objdump.c (load_specific_debug_section): Check for integer + overflow before attempting to allocate contents. + +2019-01-04 Nick Clifton + + PR 24001 + * objcopy.c (copy_object): Free dhandle after writing out the + debug information. + * objdump.c (dump_bfd): Free dhandle after printing out the debug + information. + + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index 3f7e39e6e33..43dd3f31db7 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,61 +1,6 @@ -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-08-02 Alan Modra - - * powerpc.h (R_PPC64_TPREL34, R_PPC64_DTPREL34), - (R_PPC64_GOT_TLSGD34, R_PPC64_GOT_TLSLD34), - (R_PPC64_GOT_TPREL34, R_PPC64_GOT_DTPREL34): Define. - -2019-07-13 Alan Modra - - * powerpc.h (R_PPC64_PCREL_OPT, R_PPC64_D34, R_PPC64_D34_LO), - (R_PPC64_D34_HI30, R_PPC64_D34_HA30, R_PPC64_PCREL34), - (R_PPC64_GOT_PCREL34, R_PPC64_PLT_PCREL34, R_PPC64_PLT_PCREL34_NOTOC), - (R_PPC64_ADDR16_HIGHER34, R_PPC64_ADDR16_HIGHERA34), - (R_PPC64_ADDR16_HIGHEST34, R_PPC64_ADDR16_HIGHESTA34), - (R_PPC64_REL16_HIGHER34, R_PPC64_REL16_HIGHERA34), - (R_PPC64_REL16_HIGHEST34, R_PPC64_REL16_HIGHESTA34), - (R_PPC64_D28, R_PPC64_PCREL28): Define. - -2019-07-13 Alan Modra - - * powerpc.h (R_PPC64_PLTSEQ_NOTOC, R_PPC64_PLTCALL_NOTOC): Define. - -2019-06-28 Alan Modra - - * powerpc.h (R_PPC64_REL16_HIGH, R_PPC64_REL16_HIGHA), - (R_PPC64_REL16_HIGHER, R_PPC64_REL16_HIGHERA), - (R_PPC64_REL16_HIGHEST, R_PPC64_REL16_HIGHESTA): Define. - -2019-05-16 Andre Vieira - - * arm.h (Tag_MVE_arch): Define new enum value. - -2019-04-15 Sudakshina Das - - * arm.h (R_ARM_THM_BF12): New relocation code. - -2019-04-15 Sudakshina Das - - * arm.h (R_ARM_THM_BF18): New relocation code. - -2019-04-15 Sudakshina Das - - * arm.h (R_ARM_THM_BF16): New relocation code. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/elfcpp/ChangeLog-2019 b/elfcpp/ChangeLog-2019 new file mode 100644 index 00000000000..3f7e39e6e33 --- /dev/null +++ b/elfcpp/ChangeLog-2019 @@ -0,0 +1,69 @@ +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-08-02 Alan Modra + + * powerpc.h (R_PPC64_TPREL34, R_PPC64_DTPREL34), + (R_PPC64_GOT_TLSGD34, R_PPC64_GOT_TLSLD34), + (R_PPC64_GOT_TPREL34, R_PPC64_GOT_DTPREL34): Define. + +2019-07-13 Alan Modra + + * powerpc.h (R_PPC64_PCREL_OPT, R_PPC64_D34, R_PPC64_D34_LO), + (R_PPC64_D34_HI30, R_PPC64_D34_HA30, R_PPC64_PCREL34), + (R_PPC64_GOT_PCREL34, R_PPC64_PLT_PCREL34, R_PPC64_PLT_PCREL34_NOTOC), + (R_PPC64_ADDR16_HIGHER34, R_PPC64_ADDR16_HIGHERA34), + (R_PPC64_ADDR16_HIGHEST34, R_PPC64_ADDR16_HIGHESTA34), + (R_PPC64_REL16_HIGHER34, R_PPC64_REL16_HIGHERA34), + (R_PPC64_REL16_HIGHEST34, R_PPC64_REL16_HIGHESTA34), + (R_PPC64_D28, R_PPC64_PCREL28): Define. + +2019-07-13 Alan Modra + + * powerpc.h (R_PPC64_PLTSEQ_NOTOC, R_PPC64_PLTCALL_NOTOC): Define. + +2019-06-28 Alan Modra + + * powerpc.h (R_PPC64_REL16_HIGH, R_PPC64_REL16_HIGHA), + (R_PPC64_REL16_HIGHER, R_PPC64_REL16_HIGHERA), + (R_PPC64_REL16_HIGHEST, R_PPC64_REL16_HIGHESTA): Define. + +2019-05-16 Andre Vieira + + * arm.h (Tag_MVE_arch): Define new enum value. + +2019-04-15 Sudakshina Das + + * arm.h (R_ARM_THM_BF12): New relocation code. + +2019-04-15 Sudakshina Das + + * arm.h (R_ARM_THM_BF18): New relocation code. + +2019-04-15 Sudakshina Das + + * arm.h (R_ARM_THM_BF16): New relocation code. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/gas/ChangeLog b/gas/ChangeLog index dc028c9f055..43dd3f31db7 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,4876 +1,6 @@ -2019-12-27 Jan Beulich - - * config/tc-i386.c (output_branch, output_jump, - output_interseg_jump): Also emit skipped prefix warning in Intel - syntax mode. Name instruction in the warning text. - * testsuite/gas/i386/mpx-inval-1.l, - testsuite/gas/i386/notrackbad.l, - testsuite/gas/i386/x86-64-notrackbad.l: Adjust expectations. - -2019-12-27 Jan Beulich - - * config/tc-i386.c (output_branch): Handle BND prefix the same - way as other prefixes. Emit it last before REX. - (output_jump): Emit BND before REX. - (output_interseg_jump): Don't emit REX. - * testsuite/gas/i386/x86-64-branch-2.s, - testsuite/gas/i386/x86-64-branch-3.s, - testsuite/gas/i386/x86-64-mpx-branch-1.s, - testsuite/gas/i386/x86-64-mpx-branch-2.s: Add REX.W cases. - * testsuite/gas/i386/x86-64-mpx-branch-2.d: Match output against - x86-64-mpx-branch-1.d. - * testsuite/gas/i386/x86-64-branch-2.d, - testsuite/gas/i386/x86-64-branch-3.d, - testsuite/gas/i386/x86-64-mpx-branch-1.d: Adjust expectations. - -2019-12-27 Jan Beulich - - * config/tc-i386.c (flip_code16): New. - (output_branch, output_jump): Use it. - (i386_displacement): Restrict template set to just direct - branches when handling a respective operand. Don't set Disp16 - when in Intel64 mode and there's a respective template. - * testsuite/gas/i386/i386.exp: Convert x86-64-branch-3 from list - to dump test. Drop its XFail again. - * testsuite/gas/i386/x86-64-branch-3.d: New. - * testsuite/gas/i386/x86-64-branch-3.l: Delete. - * testsuite/gas/i386/x86-64-branch-3.s: Add XBEGIN case. - -2019-12-27 Jan Beulich - - * config/tc-i386.c (i386_addressing_mode): Declare. - (match_template): Don't transform displacement width flags for - non-indirect branches. Re-write transformation logic. - (i386_displacement): Also check BaseIndex when deciding whether - an operand belongs to a direct branch. Restrict which DispNN get - set. - (i386_finalize_displacement): Set Disp8 for JumpByte templates. - * config/tc-i386-intel.c (i386_intel_operand): Don't set Disp32 - for 64-bit addressing. - * testsuite/gas/i386/i386.exp: XFail x86-64-branch-3. - -2019-12-17 Alan Modra - - * doc/as.texi: Remove mention of tic80. - -2019-12-12 H.J. Lu - - PR gas/25274 - * config/tc-i386.c (optimize_encoding): Also check R12-R15 - registers for "test $imm7, %r64/%r32/%r16 -> test $imm7, %r8" - optimization. - * testsuite/gas/i386/x86-64-optimize-3.s: Add tests for test - with r12. - * testsuite/gas/i386/x86-64-optimize-3.d: Updated. - * testsuite/gas/i386/x86-64-optimize-3b.d: Likewise. - -2019-12-12 H.J. Lu - - * testsuite/gas/i386/align-branch-1.s: New file. - * testsuite/gas/i386/align-branch-1a.d: Likewise. - * testsuite/gas/i386/align-branch-1b.d: Likewise. - * testsuite/gas/i386/align-branch-1c.d: Likewise. - * testsuite/gas/i386/align-branch-1d.d: Likewise. - * testsuite/gas/i386/align-branch-1e.d: Likewise. - * testsuite/gas/i386/align-branch-1f.d: Likewise. - * testsuite/gas/i386/align-branch-1g.d: Likewise. - * testsuite/gas/i386/align-branch-1h.d: Likewise. - * testsuite/gas/i386/align-branch-2.s: Likewise. - * testsuite/gas/i386/align-branch-2a.d: Likewise. - * testsuite/gas/i386/align-branch-2b.d: Likewise. - * testsuite/gas/i386/align-branch-2c.d: Likewise. - * testsuite/gas/i386/align-branch-3.d: Likewise. - * testsuite/gas/i386/align-branch-3.s: Likewise. - * testsuite/gas/i386/align-branch-4.s: Likewise. - * testsuite/gas/i386/align-branch-4a.d: Likewise. - * testsuite/gas/i386/align-branch-4b.d: Likewise. - * testsuite/gas/i386/align-branch-5.d: Likewise. - * testsuite/gas/i386/align-branch-5.s: Likewise. - * testsuite/gas/i386/align-branch-6.d: Likewise. - * testsuite/gas/i386/align-branch-6.s: Likewise. - * testsuite/gas/i386/align-branch-7.d: Likewise. - * testsuite/gas/i386/align-branch-7.s: Likewise. - * testsuite/gas/i386/align-branch-8.d: Likewise. - * testsuite/gas/i386/align-branch-8.s: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1.s: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1e.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1f.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-1h.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-2.s: Likewise. - * testsuite/gas/i386/x86-64-align-branch-2a.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-2b.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-2c.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-3.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-3.s: Likewise. - * testsuite/gas/i386/x86-64-align-branch-4.s: Likewise. - * testsuite/gas/i386/x86-64-align-branch-4a.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-4b.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-5.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-6.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-7.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-7.s: Likewise. - * testsuite/gas/i386/x86-64-align-branch-8.d: Likewise. - * testsuite/gas/i386/x86-64-align-branch-8.s: Likewise. - * testsuite/gas/i386/i386.exp: Run new tests. - -2019-12-12 H.J. Lu - - * config/tc-i386.c (OPTION_MBRANCHES_WITH_32B_BOUNDARIES): New. - (md_longopts): Add -mbranches-within-32B-boundaries. - (md_parse_option): Handle -mbranches-within-32B-boundaries. - (md_show_usage): Add -mbranches-within-32B-boundaries. - -2019-12-12 H.J. Lu - - * config/tc-i386.c (_i386_insn): Add has_gotpc_tls_reloc. - (tls_get_addr): New. - (last_insn): New. - (align_branch_power): New. - (align_branch_kind): New. - (align_branch_bit): New. - (align_branch): New. - (MAX_FUSED_JCC_PADDING_SIZE): New. - (align_branch_prefix_size): New. - (BRANCH_PADDING): New. - (BRANCH_PREFIX): New. - (FUSED_JCC_PADDING): New. - (i386_generate_nops): Support BRANCH_PADDING and FUSED_JCC_PADDING. - (md_begin): Abort if align_branch_prefix_size < - MAX_FUSED_JCC_PADDING_SIZE. - (md_assemble): Set last_insn. - (maybe_fused_with_jcc_p): New. - (add_fused_jcc_padding_frag_p): New. - (add_branch_prefix_frag_p): New. - (add_branch_padding_frag_p): New. - (output_insn): Generate a BRANCH_PADDING, FUSED_JCC_PADDING or - BRANCH_PREFIX frag and terminate each frag to align branches. - (output_disp): Set i.has_gotpc_tls_reloc to TRUE for GOTPC and - relaxable TLS relocations. - (output_imm): Likewise. - (i386_next_non_empty_frag): New. - (i386_next_jcc_frag): New. - (i386_classify_machine_dependent_frag): New. - (i386_branch_padding_size): New. - (i386_generic_table_relax_frag): New. - (md_estimate_size_before_relax): Handle COND_JUMP_PADDING, - FUSED_JCC_PADDING and COND_JUMP_PREFIX frags. - (md_convert_frag): Handle BRANCH_PADDING, BRANCH_PREFIX and - FUSED_JCC_PADDING frags. - (OPTION_MALIGN_BRANCH_BOUNDARY): New. - (OPTION_MALIGN_BRANCH_PREFIX_SIZE): New. - (OPTION_MALIGN_BRANCH): New. - (md_longopts): Add -malign-branch-boundary=, - -malign-branch-prefix-size= and -malign-branch=. - (md_parse_option): Handle -malign-branch-boundary=, - -malign-branch-prefix-size= and -malign-branch=. - (md_show_usage): Display -malign-branch-boundary=, - -malign-branch-prefix-size= and -malign-branch=. - (i386_target_format): Set tls_get_addr. - (i386_cons_align): New. - * config/tc-i386.h (i386_cons_align): New. - (md_cons_align): New. - (i386_generic_table_relax_frag): New. - (md_generic_table_relax_frag): New. - (i386_tc_frag_data): Add u, padding_address, length, - max_prefix_length, prefix_length, default_prefix, cmp_size, - classified and branch_type. - (TC_FRAG_INIT): Initialize u, padding_address, length, - max_prefix_length, prefix_length, default_prefix, cmp_size, - classified and branch_type. - * doc/c-i386.texi: Document -malign-branch-boundary=, - -malign-branch= and -malign-branch-prefix-size=. - -2019-12-12 H.J. Lu - - * write.c (md_generic_table_relax_frag): New. Defined to - relax_frag if not defined. - (relax_segment): Call md_generic_table_relax_frag instead of - relax_frag. - -2019-12-12 Alan Modra - - * config/tc-aarch64.c (get_aarch64_insn): Avoid signed overflow. - * config/tc-metag.c (parse_dalu): Likewise. - * config/tc-tic4x.c (md_pcrel_from): Likewise. - * config/tc-tic6x.c (tic6x_output_unwinding): Likewise. - * config/tc-csky.c (parse_fexp): Use an unsigned char temp buffer. - Don't use register keyword. Avoid signed overflow and remove now - unneccesary char masks. Formatting. - * config/tc-ia64.c (operand_match): Don't use shifts to sign extend. - * config/tc-mep.c (mep_apply_fix): Likewise. - * config/tc-pru.c (md_apply_fix): Likewise. - * config/tc-riscv.c (load_const): Likewise. - * config/tc-nios2.c (md_apply_fix): Likewise. Don't potentially - truncate fixup before right shift. Tidy BFD_RELOC_NIOS2_HIADJ16 - calculation. - -2019-12-12 Alan Modra - - * config/obj-evax.c (crc32, encode_32, encode_16, decode_16): - Remove unnecessary prototypes. - (number_of_codings): Delete, use ARRAY_SIZE instead throughout. - (codings, decodings): Make arrays of unsigned char. - (crc32): Use unsigned variables. Delete unnecessary mask. - (encode_32, encode_16): Return unsigned char*, and make static - buffer an unsigned char array. - (decode_16): Make arg an unsigned char*. Remove useless casts. - (shorten_identifier): Use unsigned char crc_chars. - (is_truncated_identifier): Make ptr an unsigned char*. - -2019-12-11 Wilco Dijkstra - - * config/tc-arm.c (warn_on_restrict_it): Add new variable. - (it_fsm_post_encode): Check warn_on_restrict_it. - (arm_option_table): Add -mwarn-restrict-it/-mno-warn-restrict-it. - * testsuite/gas/arm/armv8-2-fp16-scalar-bad.d: Add -mwarn-restrict-it. - * testsuite/gas/arm/armv8-2-fp16-scalar-bad-ext.d: Likewise. - * testsuite/gas/arm/armv8-a-bad.d: Likewise. - * testsuite/gas/arm/armv8-a-it-bad.d: Likewise. - * testsuite/gas/arm/armv8-r-bad.d: Likewise. - * testsuite/gas/arm/armv8-r-it-bad.d: Likewise. - * testsuite/gas/arm/sp-pc-validations-bad-t-v8a.d: Likewise. - * testsuite/gas/arm/udf.d: Likewise. - -2018-12-11 Jan Beulich - - * config/tc-i386.c (md_assemble): Extend SSE check conditional. - * testsuite/gas/i386/sse-check.s: Add SSE4a and SHA tests. - Extend GFNI tests. - * testsuite/gas/i386/sse-check.d: Adjust expectations. - * testsuite/gas/i386/sse-check-error.l, - testsuite/gas/i386/x86-64-sse-check-error.l: Likewise. - * testsuite/gas/i386/sse-check-warn.e: Likewise. - -2019-12-10 Vladimir Murzin - - * config/tc-arm.c (s_arm_arch): Set selected_ctx_ext_table. - * testsuite/gas/arm/mve-arch-ext.s: New. - * testsuite/gas/arm/mve-arch-ext.d: New. - -2019-12-09 Jan Beulich - - * config/tc-i386-intel.c (O_oword_ptr): Move. - (O_xmmword_ptr): Alias to O_oword_ptr. - (O_fword_ptr, O_tbyte_ptr, O_ymmword_ptr, O_zmmword_ptr): Adjust - expansion. - (i386_intel_simplify, i386_intel_operand): Fold O_oword_ptr and - O_xmmword_ptr cases, leaving comments. - -2019-12-09 Jan Beulich - - * config/tc-i386-intel.c (O_mmword_ptr): Define. - (i386_types): Add mmword entry. - (i386_intel_simplify, i386_intel_operand): Add comment. - * testsuite/gas/i386/intel-expr.s: Also test mmword and zmmword. - * testsuite/gas/i386/intelok.s: Also test "mmword ptr". - * testsuite/gas/i386/intel-expr.d, testsuite/gas/i386/intelok.d, - testsuite/gas/i386/intelok.e: Adjust expectations. - -2019-12-09 Jan Beulich - - * config/tc-i386-intel.c (i386_intel_operand): Set "byte" - attribute suffix instead of suffix for floating point insns when - handling O_near_ptr / O_far_ptr. - * testsuite/gas/i386/intelbad.s: Add FPU tests. - * testsuite/gas/i386/intelbad.l: Adjust expectations. - -2019-12-09 Jan Beulich - - * config/tc-i386-intel.c (i386_intel_operand): Set "byte" - attribute suffix instead of suffix uniformly for insns not - possibly accepting "tbyte ptr" explicitly. - -2019-12-09 Jan Beulich - - * config/tc-i386-intel.c (i386_intel_operand): Don't set suffix - for floating point insns when handling O_fword_ptr. - -2019-12-09 Jan Beulich - - * config/tc-i386-intel.c (i386_intel_operand): Don't special - case LDS et al when handling O_word_ptr. - -2019-12-08 Alan Modra - - * testsuite/gas/aarch64/bfloat16.d: Match 32-bit and 64-bit output. - * testsuite/gas/aarch64/dgh.d: Likewise. - * testsuite/gas/aarch64/f32mm.d: Likewise. - * testsuite/gas/aarch64/f64mm.d: Likewise. - * testsuite/gas/aarch64/i8mm.d: Likewise. - * testsuite/gas/aarch64/pac_ab_key.d: Likewise. - * testsuite/gas/aarch64/pac_negate_ra_state.d: Likewise. - * testsuite/gas/aarch64/reloc-prel_g0.d: Likewise. - * testsuite/gas/aarch64/reloc-prel_g0_nc.d: Likewise. - * testsuite/gas/aarch64/reloc-prel_g1.d: Likewise. - * testsuite/gas/aarch64/sve-bfloat-movprfx.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx-mm.d: Likewise. - * testsuite/gas/aarch64/sve2.d: Likewise. - -2019-12-06 Kyrylo Tkachov - - * dw2gencfi.c (cfi_pseudo_table): Add cfi_negate_ra_state. - * testsuite/gas/aarch64/pac_negate_ra_state.s: New file. - * testsuite/gas/aarch64/pac_negate_ra_state.d: Likewise. - -2019-12-05 Jan Beulich - - * config/tc-aarch64.c (aarch64_features): Drop redundant AES and - SHA2 flags from "crypto" entry. - -2019-12-05 Jan Beulich - - * config/tc-aarch64.c (aarch64_features): Make SHA2 a prereq of - SHA3. - * testsuite/gas/aarch64/crypto.s - * testsuite/gas/aarch64/crypto-directive.d: Refer to crypto.d - for actual output. - * testsuite/gas/aarch64/illegal-crypto-nofp.l: Relax - expectations. - * testsuite/gas/aarch64/crypto-directive2.d, - testsuite/gas/aarch64/crypto-directive3.d: New. - -2019-12-04 Jan Beulich - - * config/tc-i386-intel.c (i386_intel_operand): Handle LFS et al - as well as LGDT at al when processing O_tbyte_ptr. - * testsuite/gas/i386/intelbad.s: Add LDS et al cases. - * testsuite/gas/i386/x86-64-intel64.s, - * testsuite/gas/i386/x86-64-opcode.s: Add LFS et al cases. - * testsuite/gas/i386/ilp32/x86-64-intel64.d: Add -mintel64 - command line option and fold expectations with parent dir test. - * testsuite/gas/i386/x86-64-intel64.d: Add -mintel64 command - line option and adjust expectations. - * testsuite/gas/i386/intelbad.l, - testsuite/gas/i386/x86-64-opcode.d: Adjust expectations. - -2019-12-04 Jan Beulich - - * config/tc-i386-intel.c (i386_intel_operand): Also handle DWORD - with 64-bit mode branches. - * testsuite/gas/i386/x86-64-jump.s: Extend Intel syntax branch - operand coverage. - * testsuite/gas/i386/x86-64-jump.d: Adjust expectations. - -2019-12-04 Jan Beulich - - * config/tc-i386.c (output_insn): Don't consider Cpu* settings - when setting GNU_PROPERTY_X86_FEATURE_2_MMX. - -2019-12-04 Jan Beulich - - * testsuite/gas/i386/movdir.s: Add Intel syntax case with - operand size specifier. - * testsuite/gas/i386/x86-64-movdir.s: Add Intel syntax cases - with operand size specifier and wit 32-bit operands. - * testsuite/gas/i386/movdir-intel.d, - testsuite/gas/i386/movdir.d, - testsuite/gas/i386/x86-64-movdir-intel.d, - testsuite/gas/i386/x86-64-movdir.d: Adjust expectations. - -2019-12-04 Jan Beulich - - * config/tc-i386.c (process_suffix): Arrange for insns with a - single non-GPR register operand to not have its suffix guessed - from GPR operands. Extend DefaultSize handling to cover PUSH/POP - of segment registers. - * testsuite/gas/i386/general.s: Add PUSH/POP sreg to .code16gcc - set of insns. - * testsuite/gas/i386/general.l: Adjust expectations. - -2019-12-04 Jan Beulich - - * config/tc-i386.c (process_suffix): Exclude SYSRET alongside - FLDENV et al. - * testsuite/gas/i386/general.s: Expand .code16gcc set of insns. - * testsuite/gas/i386/general.l: Adjust expectations. - -2019-11-22 Andrew Burgess - - * as.c (flag_dwarf_cie_version): Change initial value to -1, and - update comment. - * config/tc-riscv.c (riscv_after_parse_args): Set - flag_dwarf_cie_version if it has not already been set. - * dwarf2dbg.c (dwarf2_init): Initialise flag_dwarf_cie_version if - needed. - * testsuite/gas/riscv/default-cie-version.d: New file. - * testsuite/gas/riscv/default-cie-version.s: New file. - -2019-11-22 Andrew Burgess - - * dw2gencfi.c (output_cie): Error on return column overflow. - * testsuite/gas/riscv/cie-rtn-col-1.d: New file. - * testsuite/gas/riscv/cie-rtn-col-3.d: New file. - * testsuite/gas/riscv/cie-rtn-col.s: New file. - -2019-11-22 Andrew Burgess - - * config/tc-riscv.c (tc_riscv_regname_to_dw2regnum): Lookup CSR - names too. - * testsuite/gas/riscv/csr-dw-regnums.d: New file. - * testsuite/gas/riscv/csr-dw-regnums.s: New file. - -2019-11-22 Andrew Burgess - - * config/tc-riscv.c (struct regname): Delete. - (hash_reg_names): Handle value as 'void *'. - -2019-11-25 Andrew Pinski - - * config/tc-aarch64.c (md_begin): Use correct - hash table for uppercase version of hint. - * testsuite/gas/aarch64/system-2.s: Extend psb case to uppercase. - * testsuite/gas/aarch64/system-2.d: Update. - -2019-11-25 Christian Eggers - - * as.h: Define SEC_OCTETS as SEC_ELF_OCTETS if OBJ_ELF. - * dwarf2dbg.c: (dwarf2_finish): Set section flag SEC_OCTETS for - .debug_line, .debug_info, .debug_abbrev, .debug_aranges, .debug_str - and .debug_ranges sections. - * write.c (maybe_generate_build_notes): Set section flag - SEC_OCTETS for .gnu.build.attributes section. - * frags.c (frag_now_fix): Don't divide by OCTETS_PER_BYTE if - SEC_OCTETS is set. - * symbols.c (resolve_symbol_value): Likewise. - -2019-11-25 Christian Eggers - - * dwarf2dbg.c (out_set_addr): Revert 2019-03-13 change. - (out_debug_line, out_debug_aranges, out_debug_info): Likewise. - * symbols.h (symbol_set_value_now_octets, symbol_octets_p): Remove. - * symbols.c (struct symbol_flags): Remove member sy_octets. - (symbol_temp_new_now_octets): Don't set symbol_flags::sy_octets. - (resolve_symbol_value): Revert: Return octets instead of bytes if - sy_octets is set. - (symbol_set_value_now_octets): Remove. - (symbol_octets_p): Remove. - -2019-11-22 Mihail Ionescu - - * config/tc-arm.c (arm_ext_crc): New. - (crc_ext_armv8): Remove. - (insns): Rename crc_ext_armv8 to arm_ext_crc. - (arm_cpus): Replace CRC_EXT_ARMV8 with ARM_EXT2_CRC. - (armv8a_ext_table, armv8r_ext_table, - arm_option_extension_value_table): Redefine the crc - extension in terms of ARM_EXT2_CRC. - * gas/testsuite/gas/arm/crc-ext.s: New. - * gas/testsuite/gas/arm/crc-ext.d: New. - -2019-11-20 Alan Modra - - PR 24944 - * atof-generic.c (atof_generic): Increase decimal guard digits. - * testsuite/gas/i386/fp.s: Add more tests. - * testsuite/gas/i386/fp.d: Update. - -2019-11-18 Andrew Burgess - - * as.c (parse_args): Parse --gdwarf-cie-version option. - (flag_dwarf_cie_version): New variable. - * as.h (flag_dwarf_cie_version): Declare. - * dw2gencfi.c (output_cie): Switch from DW_CIE_VERSION to - flag_dwarf_cie_version. - * doc/as.texi (Overview): Document --gdwarf-cie-version. - * NEWS: Likewise. - * testsuite/gas/cfi/cfi.exp: Add new tests. - * testsuite/gas/cfi/cie-version-0.d: New file. - * testsuite/gas/cfi/cie-version-1.d: New file. - * testsuite/gas/cfi/cie-version-2.d: New file. - * testsuite/gas/cfi/cie-version-3.d: New file. - * testsuite/gas/cfi/cie-version-4.d: New file. - * testsuite/gas/cfi/cie-version.s: New file. - -2019-11-14 Jan Beulich - - * config/tc-i386.c (operand_size_match, md_assemble, - parse_insn, match_template, process_suffix, output_jump, - output_insn, i386_displacement): Adjust jump* field use/ - handling. - * config/tc-i386-intel.c (i386_intel_operand): Likewise. - -2019-11-14 Jan Beulich - - * config/tc-i386.c (struct _i386_insn): Add jumpabsolute field. - (operand_type_match): Drop jumpabsolute use. - (type_names): Remove OPERAND_TYPE_JUMPABSOLUTE entry. - (process_suffix, i386_displacement): Adjust jumpabsolute uses. - (match_template, i386_att_operand): Adjust jumpabsolute - handling. - * config/tc-i386-intel.c (i386_intel_operand): Likewise. - -2019-11-14 Jan Beulich - - * config/tc-i386.c (operand_size_match): Adjust anysize use. - -2019-11-14 Jan Beulich - - * testsuite/gas/i386/intel-cmps32.d, - testsuite/gas/i386/intel-cmps64.d: Correct regexp closing - parentheses placement. - -2019-11-14 Jan Beulich - - * testsuite/gas/i386/intel-cmps.s, - testsuite/gas/i386/intel-movs.s: Extend. - * testsuite/gas/i386/intel-cmps32.d, - testsuite/gas/i386/intel-cmps64.d, - testsuite/gas/i386/intel-movs32.d, - testsuite/gas/i386/intel-movs64.d: Adjust expectations. - * testsuite/gas/i386/intel-cmps16.d, - testsuite/gas/i386/intel-movs16.d: New. - * testsuite/gas/i386/i386.exp: Run new tests. - -2019-11-12 Nelson Chu - - * testsuite/gas/riscv/insn.d: Add the f extension to -march option. - -2019-11-12 Mihail Ionescu - - * config/tc-arm.c (do_vfp_nsyn_push): Move in order to enable it for - both fpu_vfp_ext_v1xd and mve_ext and add call to the aliased vstm - instruction for mve_ext. - (do_vfp_nsyn_pop): Move in order to enable it for both - fpu_vfp_ext_v1xd and mve_ext and add call to the aliased vldm - instruction for mve_ext. - (do_neon_ldm_stm): Add fpu_vfp_ext_v1 and mve_ext checks. - (insns): Enable vldm, vldmia, vldmdb, vstm, vstmia, vstmdb, vpop, - vpush, and fldd, fstd, flds, fsts for arm_ext_v6t2 instead - of fpu_vfp_ext_v1xd. - * testsuite/gas/arm/v8_1m-mve.s: New. - * testsuite/gas/arm/v8_1m-mve.d: New. - -2019-11-12 Mihail Ionescu - - * gas/config/tc-arm.c (do_neon_mvn): Allow mve_ext cmode=0xd. - * testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.s: New test. - * testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.d: Likewise. - -2019-11-12 Mihail Ionescu - - * config/tc-arm.c (s_arm_fpu): Clear selected_cpu fpu bits. - (fpu_any): Remove OBJ_ELF guards. - * testsuite/gas/arm/fpu-rst.s: New. - * testsuite/gas/arm/fpu-rst.d: New. - * testsuite/gas/arm/fpu-rst.l: New. - -2019-11-12 Jan Beulich - - * config/tc-i386.c (type_names): Remove OPERAND_TYPE_ESSEG - entry. - (md_assemble): Adjust isstring field use. Add assertion. - (check_string): Mostly re-write. - (i386_index_check): Adjust isstring field use and related code. - -2019-11-12 Jan Beulich - - * config/tc-i386.c (process_immext): Remove SSE3, SVME, and - MWAITX special case logic. - (process_suffix): Replace immext field uses by instance ones. - * testsuite/gas/i386/arch-13.s, - testsuite/gas/i386/x86-64-arch-3.s: Add CLZERO with operand - cases. - * testsuite/gas/i386/svme.s: Add 16-bit operand cases. - * testsuite/gas/i386/x86-64-specific-reg.s: Drop FIXME comments. - * testsuite/gas/i386/arch-13.d, - testsuite/gas/i386/mwaitx-reg.l, testsuite/gas/i386/svme.d, - testsuite/gas/i386/x86-64-arch-3.d, - testsuite/gas/i386/x86-64-mwaitx-reg.l, - testsuite/gas/i386/x86-64-specific-reg.l: Adjust expectations. - -2019-11-12 Jan Beulich - - * config/tc-i386.c (operand_type_set, operand_type_and, - operand_type_and_not, operand_type_or, operand_type_xor): Handle - "instance" field specially. - (operand_size_match, md_assemble, match_template, process_suffix, - check_byte_reg, check_long_reg, check_qword_reg, check_word_reg, - process_operands, build_modrm_byte): Use "instance" instead of - "acc" / "inoutportreg" / "shiftcount" fields. - (optimize_imm): Adjust comment. - -2019-11-11 Jan Beulich - - * testsuite/gas/aarch64/illegal-sve2.s: Add smaxp/sminp cases - with mismatched 1st and 3rd operands. - * testsuite/gas/aarch64/illegal-sve2.l: Adjust expectations. - -2019-11-08 H.J. Lu - - PR gas/25167 - * config/tc-i386.c (match_template): Don't check instruction - suffix set from operand. - * testsuite/gas/i386/code16.d: New file. - * testsuite/gas/i386/code16.s: Likewise. - * testsuite/gas/i386/i386.exp: Run code16. - -2019-11-08 Jan Beulich - - * config/tc-i386.c (optimize_encoding, build_modrm_byte, - check_VecOperations, parse_real_register): Use "class" instead - of "regmask" and "regbnd" fields. - -2019-11-08 Jan Beulich - - * config/tc-i386.c (match_mem_size, operand_size_match, - operand_type_register_match, pi, check_VecOperands, match_template, - check_byte_reg, check_long_reg, check_qword_reg, process_operands, - build_modrm_byte, parse_real_register): Use "class" instead of - "regsimd" / "regmmx" fields. - -2019-11-08 Jan Beulich - - * config/tc-i386.c (pi, check_byte_reg, build_modrm_byte, - parse_real_register): Use "class" instead of "control"/"debug"/ - "test" fields. - -2019-11-08 Jan Beulich - - * config/tc-i386.c (pi, check_byte_reg, process_operands, - build_modrm_byte, i386_att_operand, parse_real_register): Use - "class" instead of "sreg" field. - * config/tc-i386-intel.c (i386_intel_simplify_register, - i386_intel_operand): Likewise. - -2019-11-08 Jan Beulich - - * config/tc-i386.c (operand_type_set, operand_type_and, - operand_type_and_not, operand_type_or, operand_type_xor): Handle - "class" field specially. - (anyimm): New. - (operand_type_check, operand_size_match, - operand_type_register_match, pi, md_assemble, is_short_form, - process_suffix, check_byte_reg, check_long_reg, check_qword_reg, - check_word_reg, process_operands, build_modrm_byte): Use "class" - instead of "reg" field. - (optimize_imm): Likewise. Reduce redundancy. Adjust calculation - of "allowed". - -2019-11-07 Mihail Ionescu - - * testsuite/gas/aarch64/dgh.s: New test. - * testsuite/gas/aarch64/dgh.d: New test. - -2019-11-07 Mihail Ionescu - - * config/tc-arm.c (arm_ext_i8mm): New feature set. - (do_vusdot): New. - (do_vsudot): New. - (do_vsmmla): New. - (do_vummla): New. - (insns): Add vsmmla, vummla, vusmmla, vusdot, vsudot mnemonics. - (armv86a_ext_table): Add i8mm extension. - (arm_extensions): Move bf16 extension to context sensitive table. - (armv82a_ext_table, armv84a_ext_table, armv85a_ext_table): - Move bf16 extension to context sensitive table. - (armv86a_ext_table): Add i8mm extension. - * doc/c-arm.texi: Document i8mm extension. - * testsuite/gas/arm/i8mm.s: New test. - * testsuite/gas/arm/i8mm.d: New test. - * testsuite/gas/arm/bfloat17-cmdline-bad-3.d: Update test. - -2019-11-07 Mihail Ionescu - - * config/tc-aarch64.c: Add new arch fetures to suppport the mm extension. - (parse_operands): Add new operand. - * testsuite/gas/aarch64/i8mm.s: New test. - * testsuite/gas/aarch64/i8mm.d: New test. - * testsuite/gas/aarch64/f32mm.s: New test. - * testsuite/gas/aarch64/f32mm.d: New test. - * testsuite/gas/aarch64/f64mm.s: New test. - * testsuite/gas/aarch64/f64mm.d: New test. - * testsuite/gas/aarch64/sve-movprfx-mm.s: New test. - * testsuite/gas/aarch64/sve-movprfx-mm.d: New test. - -2019-11-07 Mihail Ionescu -2019-11-07 Barnaby Wilks - - * config/tc-aarch64.c (md_atof): Add encoding for the bfloat16 format. - * testsuite/gas/aarch64/bfloat16-directive-le.d: New test. - * testsuite/gas/aarch64/bfloat16-directive-be.d: New test. - * testsuite/gas/aarch64/bfloat16-directive.s: New test. - -2019-11-07 Mihail Ionescu -2019-11-07 Barnaby Wilks - - * config/tc-arm.c (md_atof): Add encoding for bfloat16 - * testsuite/gas/arm/bfloat16-directive-le.d: New test. - * testsuite/gas/arm/bfloat16-directive-be.d: New test. - * testsuite/gas/arm/bfloat16-directive.s: New test. - -2019-11-07 Mihail Ionescu -2019-11-07 Barnaby Wilks - - * as.h (atof_ieee_detail): Add prototype for atof_ieee_detail function. - (atof_ieee): Move some code into the atof_ieee_detail function. - (atof_ieee_detail): Add function that provides a higher level of - control over generating IEEE-like numbers. - -2019-11-07 Mihail Ionescu -2019-11-07 Matthew Malcomson - - * config/tc-arm.c (arm_archs): Add armv8.6-a option. - (cpu_arch_ver): Add TAG_CPU_ARCH_V8 tag for Armv8.6-a. - * doc/c-arm.texi (-march): New armv8.6-a arch. - * config/tc-arm.c (arm_ext_bf16): New feature set. - (enum neon_el_type): Add NT_bfloat value. - (B_MNEM_vfmat, B_MNEM_vfmab): New bfloat16 encoder - helpers. - (BAD_BF16): New message. - (parse_neon_type): Add bf16 type specifier. - (enum neon_type_mask): Add N_BF16 type. - (type_chk_of_el_type): Account for NT_bfloat. - (el_type_of_type_chk): Account for N_BF16. - (neon_three_args): Split out from neon_three_same. - (neon_three_same): Part split out into neon_three_args. - (CVT_FLAVOUR_VAR): Add bf16_f32 cvt flavour. - (do_neon_cvt_1): Account for vcvt.bf16.f32. - (do_bfloat_vmla): New. - (do_mve_vfma): New function to deal with the mnemonic clash between the BF16 - vfmat and the MVE vfma in a VPT block with a 't'rue condition. - (do_neon_cvttb_1): Account for vcvt{t,b}.bf16.f32. - (do_vdot): New - (do_vmmla): New - (insns): Add vdot and vmmla mnemonics. - (arm_extensions): Add "bf16" extension. - * doc/c-arm.texi: Document "bf16" extension. - * testsuite/gas/arm/attr-march-armv8_6-a.d: New test. - * testsuite/gas/arm/bfloat16-bad.d: New test. - * testsuite/gas/arm/bfloat16-bad.l: New test. - * testsuite/gas/arm/bfloat16-bad.s: New test. - * testsuite/gas/arm/bfloat16-cmdline-bad-2.d: New test. - * testsuite/gas/arm/bfloat16-cmdline-bad-3.d: New test. - * testsuite/gas/arm/bfloat16-cmdline-bad.d: New test. - * testsuite/gas/arm/bfloat16-neon.s: New test. - * testsuite/gas/arm/bfloat16-non-neon.s: New test. - * testsuite/gas/arm/bfloat16-thumb-bad.d: New test. - * testsuite/gas/arm/bfloat16-thumb-bad.l: New test. - * testsuite/gas/arm/bfloat16-thumb.d: New test. - * testsuite/gas/arm/bfloat16-vfp.d: New test. - * testsuite/gas/arm/bfloat16.d: New test. - * testsuite/gas/arm/bfloat16.s: New test. - -2019-11-07 Mihail Ionescu -2019-11-07 Matthew Malcomson - - * config/tc-aarch64.c (vectype_to_qualifier): Special case the - S_2H operand qualifier. - * doc/c-aarch64.texi: Document bf16 extension. - * testsuite/gas/aarch64/bfloat16.d: New test. - * testsuite/gas/aarch64/bfloat16.s: New test. - * testsuite/gas/aarch64/illegal-bfloat16.d: New test. - * testsuite/gas/aarch64/illegal-bfloat16.l: New test. - * testsuite/gas/aarch64/illegal-bfloat16.s: New test. - * testsuite/gas/aarch64/sve-bfloat-movprfx.s: New test. - * testsuite/gas/aarch64/sve-bfloat-movprfx.d: New test. - -2019-11-07 Mihail Ionescu -2019-11-07 Matthew Malcomson - - * config/tc-aarch64.c (armv8.6-a): New arch. - * doc/c-aarch64.texi (armv8.6-a): Document new arch. - -2019-11-07 Jan Beulich - - * config/tc-i386.c (cpu_arch): Add .rdpru and .mcommit entries. - * doc/c-i386.texi: Mention rdpru and mcommit. - * testsuite/gas/i386/arch-13.s, - testsuite/gas/i386/x86-64-arch-3.s: Add mcommit and rdpru cases. - * testsuite/gas/i386/arch-13.d, - testsuite/gas/i386/x86-64-arch-3.d: Extend -march=. Adjust - expectations. - * testsuite/gas/i386/arch-13-znver1.d: Extend -march=. Redirect - expectations to arch-13.d. - * testsuite/gas/i386/arch-13-znver2.d: Redirect expectations to - arch-13.d. - testsuite/gas/i386/x86-64-arch-3-znver1.d: Extend -march=. - -2019-11-07 Jan Beulich - - * testsuite/gas/i386/x86-64-arch-3.s: Add monitorx/mwaitx cases - with canonical operand sizes. - * testsuite/gas/i386/x86-64-sse3.s: Add monitor/mwait cases with - canonical operand sizes. - * testsuite/gas/i386/x86-64-arch-3-znver1.d, - testsuite/gas/i386/x86-64-arch-3-znver2.d: Redirect expectations - to x86-64-arch-3.d. - * testsuite/gas/i386/ilp32/x86-64-sse-noavx.d: Redirect - expectations to parent dir's x86-64-sse-noavx.d. - * testsuite/gas/i386/ilp32/x86-64-sse3.d: Redirect expectations - to to parent dir's x86-64-sse3.d. - * testsuite/gas/i386/x86-64-arch-3.d, - testsuite/gas/i386/x86-64-mwaitx-bdver4.d, - testsuite/gas/i386/x86-64-sse-noavx.d, - testsuite/gas/i386/x86-64-sse3.d, - testsuite/gas/i386/x86-64-suffix.d: Adjust expectations. - -2019-11-04 Jan Beulich - - * config/tc-i386.c (process_operands): Handle ShortForm insns - later, splitting out their segment register sub-form. - -2019-10-31 H.J. Lu - - * testsuite/gas/i386/general.s: Add .code16gcc fldenv tests. - * testsuite/gas/i386/general.l: Updated. - -2019-10-31 Mihail Ionescu - - * config/tc-arm.c (selected_ctx_ext_table) New static variable. - (arm_parse_arch): Set context sensitive extension table based on the - chosen base architecture. - (s_arm_arch_extension): Change to lookup extensions in the new context - sensitive tables. - * gas/testsuite/gas/arm/mve-ext.s: New. - * gas/testsuite/gas/arm/mve-ext.d: New. - * gas/testsuite/gas/arm/mvefp-ext.s: New. - * gas/testsuite/gas/arm/mvefp-ext.d: New. - -2019-10-30 Delia Burduv - - * config/tc-aarch64.c (parse_address_main): Accept the omission of - the immediate argument for ldraa and ldrab as a shorthand for the - immediate being 0. - * testsuite/gas/aarch64/ldraa-ldrab-no-offset.d: New test. - * testsuite/gas/aarch64/ldraa-ldrab-no-offset.s: New test. - * testsuite/gas/aarch64/illegal-ldraa.s: Modified to accept the - writeback form with no offset. - * testsuite/gas/aarch64/illegal-ldraa.s: Removed missing offset - error. - -2019-10-30 Jan Beulich - - * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.s, - testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.s, - testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.s: New. - * testsuite/gas/i386/i386.exp: Run new tests. - -2019-10-30 Jan Beulich - - * config/tc-i386.c (optimize_encoding): Adjust opcodes compared - against. Adjust replacement opcode and clear .w. - -2019-10-29 Alan Modra - - PR 25125 - * dw2gencfi.c (output_cfi_insn): Don't allow DW_CFA_advance_loc4 - to be placed in a different frag to the rs_cfa. - -2019-10-26 John David Anglin - - PR gas/25121 - * config/tc-hppa.c (tc_gen_reloc): Cast some enums to int. - (md_assemble): Likewise. - -2019-10-26 Alan Modra - - PR 25125 - * dw2gencfi.c (output_cfi_insn): Don't output DW_CFA_advance_loc+0. - * ehopt.c (eh_frame_estimate_size_before_relax): Return -1 for - an advance_loc of zero. - (eh_frame_relax_frag): Translate fr_subtype of 7 to size -1. - (eh_frame_convert_frag): Handle fr_subtype of 7. Abort on - unexpected fr_subtype. - -2019-10-25 Alan Modra - - PR gas/25125 - PR gas/12049 - * write.c (relax_frag): Correct calculation of delta for - positive branches where "stretch" would make the branch - negative. Return zero immediately in that case. Correct - TC_PCREL_ADJUST comment. - -2019-10-16 Alan Modra - - * config/tc-xtensa.c (xg_order_trampoline_chain_entry): Don't - call S_GET_VALUE multiple times for a symbol. Rearrange code - so it is obvious what is the primary sort key. - (xg_order_trampoline_chain): Similarly. - -2019-10-15 Alan Modra - - * config/tc-nds32.c (nds32_set_section_relocs): Use relocs and n - parameters rather than equivalent sec->orelocation and - sec->reloc_count. Don't sort for n <= 1. Tidy. - -2019-10-09 Nick Clifton - - PR 25041 - * testsuite/gas/avr/pr25041.s: New test. - * testsuite/gas/avr/pr25041.d: New test driver. - -2019-10-07 Jozef Lawrynowicz - - * config/tc-msp430.c (md_parse_option): Set lower_data_region_only - to FALSE if the data region is set to "upper", "either" or "none". - (msp430_object_attribute): New. - (md_pseudo_table): Handle .mspabi_attribute and .gnu_attribute. - (msp430_md_end): Replace hard-coded attribute values with enums. - Handle data region object attribute. - * doc/as.texi: Document MSP430 Data Region object attribute. - * doc/c-msp430.texi: Document the .mspabi_attribute directive. - * testsuite/gas/msp430/attr-430-small-bad.d: New test. - * testsuite/gas/msp430/attr-430-small-bad.l: New test. - * testsuite/gas/msp430/attr-430-small-good.d: New test. - * testsuite/gas/msp430/attr-430-small.s: New test. - * testsuite/gas/msp430/attr-430x-large-any-bad.d: New test. - * testsuite/gas/msp430/attr-430x-large-any-bad.l: New test. - * testsuite/gas/msp430/attr-430x-large-any-good.d: New test. - * testsuite/gas/msp430/attr-430x-large-any.s: New test. - * testsuite/gas/msp430/attr-430x-large-lower-bad.d: New test. - * testsuite/gas/msp430/attr-430x-large-lower-bad.l: New test. - * testsuite/gas/msp430/attr-430x-large-lower-good.d: New test. - * testsuite/gas/msp430/attr-430x-large-lower.s: New test. - * testsuite/gas/msp430/msp430.exp: Run new tests. - -2019-10-07 Jan Beulich - - * config/tc-i386.c (check_string): Make reported operand number - depend on Intel syntax. - * testsuite/gas/i386/intel-cmps.s, - testsuite/gas/i386/intel-cmps32.d, - testsuite/gas/i386/intel-cmps64.d: New. - * testsuite/gas/i386/i386.exp: Run new tests. - * testsuite/gas/i386/intel-movs.s: Extend. - * testsuite/gas/i386/intel-movs32.d, - testsuite/gas/i386/intel-movs64.d: Adjust expectations. - * testsuite/gas/i386/string-bad.l: Tighten expectations. - -2019-09-24 Tamar Christina - - PR gas/24991 - * config/tc-arm.c (out_of_range_p): New. - (md_apply_fix): Use it in BFD_RELOC_THUMB_PCREL_BRANCH9, - BFD_RELOC_THUMB_PCREL_BRANCH12, BFD_RELOC_THUMB_PCREL_BRANCH20, - BFD_RELOC_THUMB_PCREL_BRANCH23, BFD_RELOC_THUMB_PCREL_BRANCH25 - * testsuite/gas/arm/pr24991.d: New test. - * testsuite/gas/arm/pr24991.l: New test. - * testsuite/gas/arm/pr24991.s: New test. - -2019-09-23 Alan Modra - - * config/obj-ecoff.c: Include ecoff-bfd.h. - * config/obj-elf.c: Likewise. - -2019-09-23 Alan Modra - - * config/tc-arm.c: Include cpu-arm.h. - -2019-09-21 Alan Modra - - * config/tc-i386.c (md_parse_option): Fix warning on vexwig assignment. - -2019-09-20 Alan Modra - - * config/tc-tic6x.c (tc_gen_reloc): Correct common symbol check. - -2018-09-20 Jan Beulich - - PR gas/25012 - * config/tc-i386.c (process_operands): Adjust handling of - PUSH/POP of segment registers. - * testsuite/gas/i386/x86-64-opcode.s: Add PUSHq/POPq case with - %fs/%gs operands. Add PUSHF/POPF case without suffix. - * testsuite/gas/i386/x86-64-opcode.d: Adjust expectations. - -2019-09-19 Matthew Malcomson - - * NEWS: Add SVE2 and TME entries. - -2019-09-18 Alan Modra - - * as.c, * as.h, * dw2gencfi.c, * dwarf2dbg.c, * ecoff.c, - * read.c, * stabs.c, * subsegs.c, * subsegs.h, * write.c, - * config/obj-coff-seh.c, * config/obj-coff.c, * config/obj-ecoff.c, - * config/obj-elf.c, * config/obj-macho.c, * config/obj-som.c, - * config/tc-aarch64.c, * config/tc-alpha.c, * config/tc-arc.c, - * config/tc-arm.c, * config/tc-avr.c, * config/tc-bfin.c, - * config/tc-bpf.c, * config/tc-d10v.c, * config/tc-d30v.c, - * config/tc-epiphany.c, * config/tc-fr30.c, * config/tc-frv.c, - * config/tc-h8300.c, * config/tc-hppa.c, * config/tc-i386.c, - * config/tc-ia64.c, * config/tc-ip2k.c, * config/tc-iq2000.c, - * config/tc-lm32.c, * config/tc-m32c.c, * config/tc-m32r.c, - * config/tc-m68hc11.c, * config/tc-mep.c, * config/tc-microblaze.c, - * config/tc-mips.c, * config/tc-mmix.c, * config/tc-mn10200.c, - * config/tc-mn10300.c, * config/tc-msp430.c, * config/tc-mt.c, - * config/tc-nds32.c, * config/tc-or1k.c, * config/tc-ppc.c, - * config/tc-pru.c, * config/tc-rl78.c, * config/tc-rx.c, - * config/tc-s12z.c, * config/tc-s390.c, * config/tc-score.c, - * config/tc-score7.c, * config/tc-sh.c, * config/tc-sparc.c, - * config/tc-spu.c, * config/tc-tic4x.c, * config/tc-tic54x.c, - * config/tc-tic6x.c, * config/tc-tilegx.c, * config/tc-tilepro.c, - * config/tc-v850.c, * config/tc-visium.c, * config/tc-wasm32.c, - * config/tc-xc16x.c, * config/tc-xgate.c, * config/tc-xstormy16.c, - * config/tc-xtensa.c, * config/tc-z8k.c: Update throughout for - bfd section macro and function changes. - * write.c (compress_debug): Use bfd_rename_section. - -2019-09-18 Alan Modra - - * symbols.c (S_IS_LOCAL): Update bfd_get_section to - bfd_asymbol_section. - -2019-09-18 Simon Marchi - - * Makefile.in: Re-generate. - * configure: Re-generate. - * doc/Makefile.in: Re-generate. - -2019-09-17 Maxim Blinov - - * config/tc-riscv.c (riscv_multi_subset_supports): Handle - insn_class enum rather than subset char string. - (riscv_ip): Update call to riscv_multi_subset_supports. - -2019-09-16 Phil Blundell - - * Makefile.in, configure, doc/Makefile.in: Regenerated. - -2019-09-10 Nick Clifton - - PR 24907 - * testsuite/gas/arm/pr24907.s: New test. - * testsuite/gas/arm/pr24907.d: Expected disassembly. - -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-09-05 Alan Modra - - * config/tc-ppc.c (ppc_elf_suffix): Display the relocation - operator on GOT reloc warnings/errors. - -2019-08-27 Srinath Parvathaneni - - * config/tc-arm.c (parse_neon_mov): Add check to accept vector - register to both the arguments in VMOV instruction. - * testsuite/gas/arm/mve-vmov-1.d: Modify. - * testsuite/gas/arm/mve-vmov-1.s: Likewise. - * testsuite/gas/arm/mve-vorr.d: Likewise. - -2019-08-23 Nick Clifton - - * po/sv.po: Updated Swedish translation. - -2019-08-22 Dennis Zhang - - * config/tc-arm.c: New entries for Cortex-M35P, Cortex-A77, - and Cortex-A76AE. - * doc/c-arm.texi: Document new processors. - * testsuite/gas/arm/cpu-cortex-a76ae.d: New test. - * testsuite/gas/arm/cpu-cortex-a77.d: New test. - * testsuite/gas/arm/cpu-cortex-m35p.d: New test. - -2019-08-22 Bosco García - Nick Clifton - - * atof-generic.c (atof_generic): Do not ignore leading zeros if - they appear after a decimal point. - * testsuite/gas/all/float.s: Extend test to include a number with - a leading decimal point followed by several zeroes. - * testsuite/gas/i386/fp.s: Likewise. - * testsuite/gas/i386/fp.d: Update expected output. - -2019-08-22 Barnaby Wilks - - * config/tc-aarch64.c: Add float16 directive and add "Hh" to - acceptable float characters. - * doc/c-aarch64.texi: Documentation for float16 directive. - * testsuite/gas/aarch64/float16-be.d: New test. - * testsuite/gas/aarch64/float16-le.d: New test. - * testsuite/gas/aarch64/float16.s: New test. - * NEWS: Add NEWS entry. - -2019-08-22 Kyrylo Tkachov - - * testsuite/gas/aarch64/sysreg-4.d: Update expected disassembly for - tfsre0_el1, tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12 system registers. - -2019-08-20 Dennis Zhang - - * NEWS: Mention the Arm and AArch64 new processors. - * config/tc-aarch64.c: New entries for Cortex-A34, Cortex-A65, - Cortex-A77, cortex-A65AE, and Cortex-A76AE. - * doc/c-aarch64.texi: Document new CPUs. - * testsuite/gas/aarch64/cpu-cortex-a34.d: New test. - * testsuite/gas/aarch64/cpu-cortex-a65.d: New test. - * testsuite/gas/aarch64/cpu-cortex-a65ae.d: New test. - * testsuite/gas/aarch64/cpu-cortex-a76ae.d: New test. - * testsuite/gas/aarch64/cpu-cortex-a77.d: New test. - * testsuite/gas/aarch64/nop-asm.s: New test. - -2019-08-19 Faraz Shahbazker - - * config/tc-mips.c (fix_bad_misaligned_address): New function. - (fix_validate_branch): Call fix_bad_misaligned address_to - calculate the target address. - (md_apply_fix): Likewise. - (md_convert_frag): Update misaligned address calculation to - disregard ISA mode bit. - -2019-08-19 Faraz Shahbazker - - * config/tc-mips.c (mips_move_labels): Retain ISA mode bit - when moving labels in text segments. - (mips_align): Indicate text mode when aligning labels in - text segments. - * gas/testsuite/gas/mips/insn-isa-mode.d: New test. - * gas/testsuite/gas/mips/insn-isa-mode.s: New test source. - * gas/testsuite/gas/mips/mips.exp: Run the new test. - -2019-08-19 Barnaby Wilks - - * config/tc-arm.c (md_atof): Add precision check. Formatting. - -2019-08-15 Nick Clifton - - * po/sv.po: Updated Swedish translation. - -2019-08-12 Srinath Parvathaneni - - * config/tc-arm.c (enum operand_parse_code): Add the entry OP_I48_I64. - (po_imm1_or_imm2_or_fail): Marco to check the immediate is either of - 48 or 64. - (parse_operands): Add case OP_I48_I64. - (do_mve_scalar_shift1): Add function to encode the MVE shift - instructions with 4 arguments. - * testsuite/gas/arm/mve-shift-bad.l: Modify. - * testsuite/gas/arm/mve-shift-bad.s: Likewise. - * testsuite/gas/arm/mve-shift.d: Likewise. - * testsuite/gas/arm/mve-shift.s: Likewise. - -2019-08-12 Barnaby Wilks - - * config/tc-arm.c (enum fp_16bit_format): Add enum to represent the 2 float16 encodings. - (md_atof): Set precision for float16 type. - (arm_is_largest_exponent_ok): Check for whether to encode with the IEEE or alternative - format. - (set_fp16_format): Parse a float16_format directive. - (arm_parse_fp16_opt): Parse the fp16-format command line option. - (aeabi_set_public_attributes): For ELF encode the FP16 format EABI attribute. - * config/tc-arm.h (TC_LARGEST_EXPONENT_IS_NORMAL): Macro that expands to - arm_is_largest_exponent_ok. - (arm_is_largest_exponent_ok): Add prototype for arm_is_largest_exponent_ok function. - * doc/c-arm.texi: Add documentation for .float16, .float16_format and -mfp16-format= - * testsuite/gas/arm/float16-bad.d: New test. - * testsuite/gas/arm/float16-bad.l: New test. - * testsuite/gas/arm/float16-bad.s: New test. - * testsuite/gas/arm/float16-be.d: New test. - * testsuite/gas/arm/float16-format-bad.d: New test. - * testsuite/gas/arm/float16-format-bad.l: New test. - * testsuite/gas/arm/float16-format-bad.s: New test. - * testsuite/gas/arm/float16-format-opt-bad.d: New test. - * testsuite/gas/arm/float16-format-opt-bad.l: New test. - * testsuite/gas/arm/float16-le.d: New test. - * testsuite/gas/arm/float16.s: New test. - * testsuite/gas/arm/float16-eabi-alternative-format.d: New test. - * testsuite/gas/arm/float16-eabi-ieee-format.d: New test. - * testsuite/gas/arm/float16-eabi-no-format.d: New test. - * testsuite/gas/arm/float16-eabi.s: New test. - -2019-08-12 Barnaby Wilks - - * config/atof-ieee.c (H_PRECISION): Macro for precision of float16 - type. - (atof_ieee): Set precision and exponent bits for encoding float16 - types. - (gen_to_words): NaN and Infinity encoding for float16. - (ieee_md_atof): Set precision for encoding float16 type. - -2019-08-12 Alan Modra - - PR 24851 - * config/tc-epiphany.c (md_estimate_size_before_relax): Clear - extra opcode bytes when changing from a 2-byte to a 4-byte insn. - -2019-08-09 Jan Beulich - - * testsuite/gas/i386/ilp32/x86-64-simd-intel.d, - testsuite/gas/i386/ilp32/x86-64-simd-suffix.d, - testsuite/gas/i386/ilp32/x86-64-simd.d: Redirect to parent dir - output expectations. - * testsuite/gas/i386/x86-64-simd-intel.d, - testsuite/gas/i386/x86-64-simd-suffix.d, - testsuite/gas/i386/x86-64-simd.d: Don't hard-code hex addresses - and symbol-relative offsets. - -2019-08-08 Nick Clifton - - PR 24887 - * testsuite/gas/i386/property-1.d: Adjust for new output format - from readelf. - * testsuite/gas/i386/property-2.d: Likewise. - * testsuite/gas/i386/x86-64-property-1.d: Likewise. - * testsuite/gas/i386/x86-64-property-2.d: Likewise. - -2019-08-08 Yoshinori Sato - - * testsuite/gas/h8300/h8300.exp: Fix movfpe and movtpe tests. - * testsuite/gas/h8300/misc.s: Likewise. - * testsuite/gas/h8300/misch.s: Likewise. - * testsuite/gas/h8300/miscs.s: Likewise. - -2019-08-05 Barnaby Wilks - - * config/tc-arm.c (do_mve_vqdmlah): Use N_S_32 macro. - (do_neon_qrdmlah): Use N_S_32 macro. - * testsuite/gas/arm/mve-vqdmlah-bad.d: New test. - * testsuite/gas/arm/mve-vqdmlah-bad.l: New test. - * testsuite/gas/arm/mve-vqdmlah-bad.s: New test. - * testsuite/gas/arm/mve-vqdmlah.d: Remove unsigned instruction tests. - * testsuite/gas/arm/mve-vqdmlah.s: Remove unsigned instruction tests. - * testsuite/gas/arm/mve-vqdmlash-bad.d: New test. - * testsuite/gas/arm/mve-vqdmlash-bad.l: New test. - * testsuite/gas/arm/mve-vqdmlash-bad.s: New test. - * testsuite/gas/arm/mve-vqdmlash.d: Remove unsigned instruction tests. - * testsuite/gas/arm/mve-vqdmlash.s: Remove unsigned instruction tests. - -2019-07-30 Mel Chen - - * testsuite/gas/riscv/alias-csr.s: Add testcase for CSR-access - alias instructions. - * testsuite/gas/riscv/no-aliases-csr.d: Run testcase alias-csr.s with - -Mno-aliases. - - * testsuite/gas/riscv/alias-csr.d: Run testcase alias-csr.s. - * testsuite/gas/riscv/priv-reg.d: Update. - -2019-07-24 Nick Clifton - - * po/sv.po: Updated Swedish translation. - -2019-07-24 Claudiu Zissulescu - - * testsuite/gas/arc/nps400-6.d: Update test. - -2019-07-24 Alan Modra - - * config/obj-elf.c (obj_elf_section, obj_elf_type): Set has_gnu_osabi. - * testsuite/gas/elf/section12a.d: Update xfails. - * testsuite/gas/elf/section12b.d: Likewise. - -2019-07-24 Alan Modra - - * testsuite/gas/elf/section12a.d: xfail visium and cloudabi. - * testsuite/gas/elf/section12b.d: Likewise. - * testsuite/gas/elf/section13.d: Likewise. - -2019-07-23 Kyrylo Tkachov - - * testsuite/gas/aarch64/sysreg-4.s: Test gmid_el1 read. - * testsuite/gas/aarch64/sysreg-4.d: Update expected output. - * testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise. - -2019-07-23 Alan Modra - - * config/obj-elf.c (obj_elf_change_section): Don't emit a fatal - error for non-SHF_ALLOC SHF_GNU_MBIND here. - (obj_elf_parse_section_letters): Return SHF_GNU_MBIND in new - gnu_attr param. - (obj_elf_section): Adjust obj_elf_parse_section_letters call. - Formatting. Set SHF_GNU_MBIND and elf_osabi from gnu_attr. - Emit normal error for non-SHF_ALLOC SHF_GNU_MBIND and wrong osabi. - (obj_elf_type): Set elf_osabi for ifunc. - * testsuite/gas/elf/section12a.d: xfail msp430 and hpux. - * testsuite/gas/elf/section12b.d: Likewise. - * testsuite/gas/elf/section13.d: Likewise. - * testsuite/gas/elf/section13.l: Adjust expected error. - -2019-07-23 Alan Modra - - * testsuite/gas/elf/section12a.d: Don't skip for rx. - -2019-07-22 Barnaby Wilks - - * config/tc-arm.c (do_mve_vqdmladh): Remove check for UNPREDICTABLE. - * testsuite/gas/arm/mve-vqdmladh-bad.l: Remove tests. - * testsuite/gas/arm/mve-vqdmladh-bad.s: Remove tests. - * testsuite/gas/arm/mve-vqdmladh.d: New tests. - * testsuite/gas/arm/mve-vqdmladh.s: New tests. - * testsuite/gas/arm/mve-vqdmlsdh-bad.l: Remove tests. - * testsuite/gas/arm/mve-vqdmlsdh-bad.s: Remove tests. - * testsuite/gas/arm/mve-vqdmlsdh.d: New tests. - * testsuite/gas/arm/mve-vqdmlsdh.s: New tests. - -2019-07-19 H.J. Lu - - * testsuite/gas/i386/noextreg.d: Pass -O0 to assembler. - -2019-07-19 Jose E. Marchesi - - * testsuite/gas/bpf/alu.d: Use %r6 instead of %ctx. - * testsuite/gas/bpf/lddw-be.d: Likewise. - * testsuite/gas/bpf/lddw.d: Likewise. - * testsuite/gas/bpf/alu-be.d: Likewise. - * testsuite/gas/bpf/alu32.d: Likewise. - -2019-07-19 Jose E. Marchesi - - * config/tc-bpf.c (pe_lcomm_internal): Adapted from tc-i386.c. - (pe_lcomm): Likewise. - (md_pseudo_table): Use pe_lcomm to implement .lcomm. - -2019-07-19 Richard Sandiford - - * doc/c-aarch64.texi: Remame the +bitperm extension to +sve2-bitperm. - * config/tc-aarch64.c (aarch64_features): Likewise. - * testsuite/gas/aarch64/illegal-sve2-aes.d: Update accordingly. - * testsuite/gas/aarch64/illegal-sve2-sha3.d: Likewise. - * testsuite/gas/aarch64/illegal-sve2-sm4.d: Likewise. - * testsuite/gas/aarch64/illegal-sve2.d: Likewise. - * testsuite/gas/aarch64/sve2.d: Likewise. - -2019-07-19 Alan Modra - - * config/tc-ppc.c (ppc_elf_suffix): Map "tls@pcrel", "got@tlsgd@pcrel", - "got@tlsld@pcrel", "got@tprel@pcrel", and "got@dtprel@pcrel". - (fixup_size, md_assemble): Handle pcrel tls relocs. - (ppc_force_relocation, ppc_fix_adjustable): Likewise. - (md_apply_fix, tc_gen_reloc): Likewise. - -2019-07-17 Jose E. Marchesi - - * config/tc-bpf.c: Make .lcomm to get a third argument with the - alignment. - -2019-07-17 Jose E. Marchesi - - * config/tc-bpf.c (md_pseudo_table): .half, .word and .dword. - - * testsuite/gas/bpf/data.s: New file. - * testsuite/gas/bpf/data.d: Likewise. - * testsuite/gas/bpf/data-be.d: Likewise. - * testsuite/gas/bpf/bpf.exp: Run data and data-be. - * doc/c-bpf.texi (BPF Directives): New section. - -2019-07-17 Jan Beulich - - * config/tc-i386.c (check_hle, md_assemble, check_VecOperands, - match_template, check_string, build_modrm_byte): Replace - operand_type_check(..., anymem) by Operand_Mem ones. - (process_operands): Also copy i.flags[] when copying other - operand properties. - -2019-07-16 Jan Beulich - - * config/tc-i386.c (match_template): Adjust regmem reference. - Adjust comment and update regmem when swapping operands. - (build_modrm_byte): Drop clearing of regmem and stale part of - comment. Correct comment. Adjust regmem reference. - -2019-07-16 Jan Beulich - - * config/tc-i386.c (type_names): Replace SReg entries. - (pi, check_byte_reg, build_modrm_byte, i386_att_operand, - parse_real_register): Switch to using sreg field. - (process_operands): Likewise. Extend handling of PUSH/POP of - segment registers. Drop dead setting of REX_B. - * config/tc-i386-intel.c (i386_intel_simplify_register, - i386_intel_operand): Switch to using sreg field. - * testsuite/gas/i386/x86-64-opcode.s: Add PUSH/POP of %fs/%gs. - * testsuite/gas/i386/x86-64-opcode.d: Adjust expectations. - * testsuite/gas/i386/ilp32/x86-64-opcode.d: Use parent dir - expectations. - -2019-07-15 Jose E. Marchesi - - * testsuite/gas/bpf/mem.s: ldabs instructions do not take a `src' - register as an argument. - * testsuite/gas/bpf/mem.d: Updated accordingly. - * testsuite/gas/bpf/mem-be.d: Likewise. - * doc/c-bpf.texi (BPF Opcodes): Update to reflect the correct - explicit arguments to ldabs and ldind instructions. - -2019-07-14 Jose E. Marchesi - - * testsuite/gas/bpf/mem.s: Do not use explicit arguments for - ldabs and ldind instructions. - * testsuite/gas/bpf/mem.d: Updated accordingly. - * testsuite/gas/bpf/mem-be.d: Likewise. - -2019-07-09 Alan Modra - - * config/obj-elf.c (elf_frob_symbol): Remove mips hacks. - * config/tc-mips.h (tc_frob_symbol): Define. - (mips_frob_symbol): Declare. - * config/tc-mips.c (s_mips_globl): Don't set BSF_OBJECT for irix. - (mips_frob_symbol): Fudge symbols for irix here. - * testsuite/gas/elf/type-2.e: Allow random target symbols. - -2019-07-05 Kito Cheng - - * doc/c-riscv.texi (Instruction Formats): Add r4 type. - * testsuite/gas/riscv/insn.d: Add testcase for r4 type. - * testsuite/gas/riscv/insn.s: Ditto. - - * doc/c-riscv.texi (Instruction Formats): Add b and j type. - * testsuite/gas/riscv/insn.d: Add test case for b and j type. - * testsuite/gas/riscv/insn.s: Ditto. - - * testsuite/gas/riscv/insn.s: Correct instruction type for load - and store. - - * testsuite/gas/riscv/insn.d: Using regular expression to match - address. - - * doc/c-riscv.texi (Instruction Formats): Fix encoding table for SB - type and fix typo. - -2019-07-04 Jan Beulich - - * config/tc-i386.c (md_parse_option): Don't blindly accept all - -Q options. - (md_show_usage): Correctly name the ignored -Q option flavors. - -2019-07-04 Jan Beulich - - * config/obj-elf.c (obj_elf_type): Check for conflicts between - old and new types. - * config/tc-hppa.h (md_elf_symbol_type_change): New. - * doc/as.texi: Mention warning behavior for the ELF flavor of - .type. - * testsuite/gas/elf/type-2.e, testsuite/gas/elf/type-2.l, - testsuite/gas/elf/type-2.s: New. - * testsuite/gas/elf/elf.exp: Run new test. - -2019-07-03 Nick Clifton - - * testsuite/gas/aarch64/codealign.d: Update to work with a - toolchain configured to generate build notes. - * testsuite/gas/aarch64/codealign_1.d: Likewise. - * testsuite/gas/aarch64/dwarf.d: Likewise. - * testsuite/gas/aarch64/mapmisc.d: Likewise. - * testsuite/gas/aarch64/mapping.d: Likewise. - * testsuite/gas/aarch64/mapping2.d: Likewise. - * testsuite/gas/aarch64/mapping3.d: Likewise. - * testsuite/gas/aarch64/mapping4.d: Likewise. - * testsuite/gas/aarch64/mapping_5.d: Likewise. - * testsuite/gas/aarch64/mapping_6.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_1.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_10.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_11.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_12.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_13.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_14.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_15.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_16.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_17.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_18.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_19.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_2.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_20.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_21.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_22.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_23.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_24.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_25.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_26.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_27.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_3.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_4.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_5.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_6.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_7.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_8.d: Likewise. - * testsuite/gas/aarch64/sve-movprfx_9.d: Likewise. - * testsuite/gas/aarch64/symbol-variant_pcs-1.d: Likewise. - * testsuite/gas/aarch64/symbol-variant_pcs-2.d: Likewise. - * testsuite/gas/aarch64/symbol-variant_pcs-3.d: Likewise. - * testsuite/gas/all/assign.d: Likewise. - * testsuite/gas/all/none.d: Likewise. - * testsuite/gas/all/weakref1.d: Likewise. - * testsuite/gas/arm/got_prel.d: Likewise. - * testsuite/gas/arm/local_function.d: Likewise. - * testsuite/gas/arm/mapdir.d: Likewise. - * testsuite/gas/arm/mapmisc.d: Likewise. - * testsuite/gas/arm/mapping2.d: Likewise. - * testsuite/gas/arm/mapping3.d: Likewise. - * testsuite/gas/arm/mapping4.d: Likewise. - * testsuite/gas/arm/mapsecs.d: Likewise. - * testsuite/gas/arm/mapshort-eabi.d: Likewise. - * testsuite/gas/arm/thumbrel.d: Likewise. - * testsuite/gas/arm/unwind.d: Likewise. - * testsuite/gas/cfi/cfi-label.d: Likewise. - * testsuite/gas/elf/elf.exp: Likewise. - * testsuite/gas/i386/bss.d: Likewise. - * testsuite/gas/i386/ifunc-3.d: Likewise. - * testsuite/gas/i386/ilp32/mixed-mode-reloc64.d: Likewise. - * testsuite/gas/i386/ilp32/quad.d: Likewise. - * testsuite/gas/i386/ilp32/reloc64.d: Likewise. - * testsuite/gas/i386/ilp32/x86-64-size-1.d: Likewise. - * testsuite/gas/i386/ilp32/x86-64-size-3.d: Likewise. - * testsuite/gas/i386/ilp32/x86-64-size-5.d: Likewise. - * testsuite/gas/i386/ilp32/x86-64-unwind.d: Likewise. - * testsuite/gas/i386/mixed-mode-reloc32.d: Likewise. - * testsuite/gas/i386/mixed-mode-reloc64.d: Likewise. - * testsuite/gas/i386/nop-6.d: Likewise. - * testsuite/gas/i386/property-1.d: Likewise. - * testsuite/gas/i386/property-2.d: Likewise. - * testsuite/gas/i386/relax.d: Likewise. - * testsuite/gas/i386/reloc64.d: Likewise. - * testsuite/gas/i386/size-1.d: Likewise. - * testsuite/gas/i386/size-3.d: Likewise. - * testsuite/gas/i386/x86-64-nop-6.d: Likewise. - * testsuite/gas/i386/x86-64-property-1.d: Likewise. - * testsuite/gas/i386/x86-64-property-2.d: Likewise. - * testsuite/gas/i386/x86-64-size-1.d: Likewise. - * testsuite/gas/i386/x86-64-size-3.d: Likewise. - * testsuite/gas/i386/x86-64-size-5.d: Likewise. - * testsuite/gas/i386/x86-64-unwind.d: Likewise. - * testsuite/gas/macros/irp.d: Likewise. - * testsuite/gas/macros/repeat.d: Likewise. - * testsuite/gas/macros/rept.d: Likewise. - * testsuite/gas/macros/test2.d: Likewise. - * testsuite/gas/macros/test3.d: Likewise. - * testsuite/gas/macros/vararg.d: Likewise. - * testsuite/gas/ppc/astest2.d: Likewise. - * testsuite/gas/ppc/astest2_64.d: Likewise. - * testsuite/gas/ppc/astest64.d: Likewise. - * testsuite/gas/ppc/power4.d: Likewise. - * testsuite/gas/ppc/test1elf64.d: Likewise. - -2019-07-02 Barnaby Wilks - - * config/tc-aarch64.c (parse_operands): Add error check. - * testsuite/gas/aarch64/diagnostic.l: New test. - * testsuite/gas/aarch64/diagnostic.s: New test. - * testsuite/gas/aarch64/illegal.l: New tests. - * testsuite/gas/aarch64/illegal.s: New tests. - -2019-07-02 Richard Sandiford - - * testsuite/gas/aarch64/sve-movprfx_27.s, - * testsuite/gas/aarch64/sve-movprfx_27.d: New test. - -2019-07-02 Richard Sandiford - - * testsuite/gas/aarch64/sve-movprfx_26.s: Also test FCVTZS, FCVTZU, - SCVTF, UCVTF, LSR and ASR. - * testsuite/gas/aarch64/sve-movprfx_26.d: Update accordingly. - * testsuite/gas/aarch64/sve-movprfx_26.l: Likewise. - -2019-07-02 Richard Sandiford - - * testsuite/gas/aarch64/sve-movprfx_25.s: Allow CPY Z1.D.P1/M,X1 - to be prefixed by MOVPRFX. - * testsuite/gas/aarch64/sve-movprfx_25.d: Update accordingly. - * testsuite/gas/aarch64/sve-movprfx_25.l: Likewise. - -2019-07-01 Nick Clifton - - PR 24748 - * write.c (create_note_reloc): Add desc2_offset parameter. Change - name of offset parameter to note_offset. Only use desc2_offset - when placing addend into REL reloc's address space. - (maybe_generate_build_notes): Update parameters passed to - create_note_reloc. - -2019-07-01 Matthew Malcomson - - * testsuite/gas/aarch64/illegal-sve2-aes.d: Update tests. - * testsuite/gas/aarch64/illegal-sve2.l: Update tests. - * doc/c-aarch64.texi: Add special note of pmull{t,b} - instructions under the sve2-aes architecture extension. - * testsuite/gas/aarch64/illegal-sve2.s: Add small size - pmull{t,b} instructions. - * testsuite/gas/aarch64/sve2.d: Add small size pmull{t,b} - disassembly. - * testsuite/gas/aarch64/sve2.s: Add small size pmull{t,b} - instructions. - -2019-07-01 Nick Clifton - - PR 24738 - * doc/c-i386.texi (i386-Directives): Add a description of the - Value directive. - -2019-07-01 Nick Clifton - - PR 24737 - * doc/as.texi (Align): Add missing word to description of - pseudo-op. - (P2align): Likewise. - -2019-06-28 Nick Clifton - - PR 24735 - * doc/as.texi (Zero): Fix spelling typo. - -2019-07-01 Jan Beulich - - * config/tc-i386.c (vec_imm4): Delete. - (VEX_check_operands): Replace Vec_Imm4 check by CpuXOP with five - operands one. Clear Imm by different means. - (build_modrm_byte): Adjust comment. Remove dead code. Add and - adjust assertions. - -2019-07-01 Jan Beulich - - * config/tc-i386.c (output_insn): Adjust recognition of xFENCE - insns. Move PadLock special case of prefix emission to 3-byte - long base opcode handling. - (i386_index_check): Check for CpuPadLock instead of ImmExt. - -2019-07-01 Jan Beulich - - * config/tc-i386.c (optimize_encoding): Handle AND / OR with - both operands being the same register. - * doc/c-i386.texi: Update -O2 documentation. - * testsuite/gas/i386/optimize-2.s, - testsuite/gas/i386/x86-64-optimize-3.s: Add cases of AND / OR - with both operands being the same register. - * testsuite/gas/i386/optimize-2.d, - testsuite/gas/i386/x86-64-optimize-3.d: Adjust expectations. - * testsuite/gas/i386/optimize-2b.d, - testsuite/gas/i386/x86-64-optimize-3b.d: New. - * testsuite/gas/i386/i386.exp: Run new test. - -2019-07-01 Jan Beulich - - * config/tc-i386.c (commutative): New. - (build_vex_prefix): Handle commutative case. - (optimize_encoding): Set commutative flag when appropriate. - * doc/c-i386.texi: Update -O2 documentation. - * testsuite/gas/i386/ilp32/x86-64-sse2avx.d: Re-use parent dir - output. - * testsuite/gas/i386/x86-64-sse2avx.s: Add tests with high - numbered source operands. - * testsuite/gas/i386/x86-64-optimize-2.d, - testsuite/gas/i386/x86-64-optimize-2b.d, - testsuite/gas/i386/x86-64-optimize-3.d, - testsuite/gas/i386/x86-64-optimize-5.d, - testsuite/gas/i386/x86-64-optimize-6.d, - testsuite/gas/i386/x86-64-sse2avx.d: Adjust expectations. - * testsuite/gas/i386/x86-64-avx-swap-2.d, - testsuite/gas/i386/x86-64-avx-swap-2.s: New. - * testsuite/gas/i386/i386.exp: Run new test. - -2019-07-01 Jan Beulich - - * config/tc-i386.c (is_evex_encoding): Don't check for SAE. - (check_VecOperands): Simplify static rounding / SAE checking. - -2019-07-01 Jan Beulich - - * config/tc-i386.c (optimize_encoding): Make j unsigned. Handle - vpand{d,q}, vpandn{d,q}, vpor{d,q}, and vpxor{d,q}. Also check/ - clear broadcast. Eliminate a loop. - * doc/c-i386.texi: Update -O1 documentation. - * testsuite/gas/i386/optimize-1.s, - testsuite/gas/i386/optimize-2.s, - testsuite/gas/i386/optimize-3.s, - testsuite/gas/i386/optimize-5.s, - testsuite/gas/i386/x86-64-optimize-2.s, - testsuite/gas/i386/x86-64-optimize-3.s, - testsuite/gas/i386/x86-64-optimize-4.s, - testsuite/gas/i386/x86-64-optimize-6.s: Add vpand{d,q}, - vpandn{d,q}, vpor{d,q}, and vpxor{d,q} cases. - testsuite/gas/i386/optimize-1.d, - testsuite/gas/i386/optimize-1a.d, - testsuite/gas/i386/optimize-2.d, - testsuite/gas/i386/optimize-3.d, - testsuite/gas/i386/optimize-4.d, - testsuite/gas/i386/optimize-5.d, - testsuite/gas/i386/x86-64-optimize-2.d, - testsuite/gas/i386/x86-64-optimize-2a.d, - testsuite/gas/i386/x86-64-optimize-2b.d, - testsuite/gas/i386/x86-64-optimize-3.d, - testsuite/gas/i386/x86-64-optimize-4.d, - testsuite/gas/i386/x86-64-optimize-5.d, - testsuite/gas/i386/x86-64-optimize-6.d: Adjust expectations. - -2019-07-01 Jan Beulich - - * testsuite/gas/i386/avx512f_vpclmulqdq.s, - testsuite/gas/i386/avx512vl_vpclmulqdq.s, - testsuite/gas/i386/vpclmulqdq.s, - testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s, - testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s: Add pseudo ops. - * testsuite/gas/i386/x86-64-vpclmulqdq.s: Likewise. Don't use - high 16 [xy]mm registers. - * testsuite/gas/i386/avx512f_vpclmulqdq.d, - testsuite/gas/i386/avx512f_vpclmulqdq-intel.d, - testsuite/gas/i386/avx512vl_vpclmulqdq.d, - testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d, - testsuite/gas/i386/vpclmulqdq.d, - testsuite/gas/i386/vpclmulqdq-intel.d, - testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d, - testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d, - testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d, - testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d, - testsuite/gas/i386/x86-64-vpclmulqdq.d, - testsuite/gas/i386/x86-64-vpclmulqdq-intel.d: Adjust - expectations. - -2019-07-01 Jan Beulich - - * tc-i386.c (output_disp, output_imm): Use encoding_length. - -2019-07-01 Jan Beulich - - * tc-i386.c (encoding_length): New. - (output_insn): Use it. - * testsuite/gas/i386/oversized16.l, - testsuite/gas/i386/oversized16.s, - testsuite/gas/i386/oversized64.l, - testsuite/gas/i386/oversized64.s: New. - * testsuite/gas/i386/i386.exp: Run new tests. - -2019-06-27 H.J. Lu - - PR binutils/24719 - * testsuite/gas/i386/disassem.s: Add test for vgatherpf0dps - with invalid vector length. - * testsuite/gas/i386/x86-64-disassem.s: Likewise. - * testsuite/gas/i386/disassem.d: Updated. - * testsuite/gas/i386/x86-64-disassem.d: Likewise. - -2019-06-27 Barnaby Wilk s - - * config/tc-arm.c (do_smc): Add range check for immediate operand. - (do_t_smc): Add range check for immediate operand. Remove - obsolete immediate encoding. - (md_apply_fix): Fix range check. Remove obsolete immediate encoding. - * testsuite/gas/arm/arch6zk.d: Fix test. - * testsuite/gas/arm/arch6zk.s: Fix test. - * testsuite/gas/arm/smc-bad.d: New test. - * testsuite/gas/arm/smc-bad.l: New test. - * testsuite/gas/arm/smc-bad.s: New test. - * testsuite/gas/arm/thumb32.d: Fix test. - * testsuite/gas/arm/thumb32.s: Fix test. - -2019-06-27 Jan Beulich - - config/tc-i386.c (md_assemble): Check for protected mode - incapable processor before encoding VEX and alike insns. - * testsuite/gas/i386/inval-16.s: For 80186 architecture. - * testsuite/gas/i386/inval-16.l: Adjust expectations. - * testsuite/gas/i386/avx-16bit.d, - testsuite/gas/i386/avx-16bit.s, - testsuite/gas/i386/avx512f-16bit.d, - testsuite/gas/i386/avx512f-16bit.s, - testsuite/gas/i386/bmi-16bit.d, - testsuite/gas/i386/bmi-16bit.s, - testsuite/gas/i386/bmi2-16bit.d, - testsuite/gas/i386/bmi2-16bit.s, - testsuite/gas/i386/lwp-16bit.d, - testsuite/gas/i386/lwp-16bit.s: New - testsuite/gas/i386/i386.exp: Run new tests. - -2019-06-26 Jim Wilson - - * testsuite/gas/xstormy16/allinsn.sh: Change first line to - #!/bin/bash and make it executable. - * testsuite/gas/xstormy16/gcc.sh: Likewise. - -2019-06-26 Lili Cui - - * doc/c-i386.texi: Document x/y/z instruction sufffixes in AT&T - syntax and xmmword/ymmword/zmmword/fword/tbyte/oword ptr in - Intel syntax. - -2019-06-25 Faraz Shahbazker - - * config/tc-mips.c (macro) : Re-order MTHC1 with - respect to MTC1 and use $0 for either part where possible. - * testsuite/gas/mips/li-d.s: Add test cases for non-zero - words in double precision constants. - * testsuite/gas/mips/li-d.d: Update reference output. - * testsuite/gas/mips/micromips@isa-override-1.d: Likewise. - * testsuite/gas/mips/mips32r2@isa-override-1.d: Likewise. - * testsuite/gas/mips/mips64r2@isa-override-1.d: Likewise. - -2019-06-25 Jan Beulich - - * tc-i386.c (acc32, acc64): Delete. - (pi): Make first parameter pinter-to-const. - (type_names): Remove Acc. Add acc8, acc16, acc32, and acc64. - (pt): Use operand_type_equal(). - (match_template): Replace use of acc32. - (process_suffix): Replace use of acc64. - -2019-06-25 Jan Beulich - - * doc/c-i386.texi: Mark -mavxscalar= and -mvexwig as dangrous to - use. - -2019-06-25 Jan Beulich - - * tc-i386.c (process_suffix): Use is_any_vex_encoding(). - -2019-06-25 Jan Beulich - - * testsuite/gas/i386/sse2-16bit.d, - testsuite/gas/i386/sse2-16bit.s: New. - testsuite/gas/i386/i386.exp: Run new test. - -2019-06-25 Jan Beulich - - * config/tc-i386.c (optimize_encoding): Also handle ANDQ with - immediatie fitting in 7 bits. - * testsuite/gas/i386/x86-64-optimize-1.s: Add ANDQ cases with - 7- and 8-bit immediates. - * testsuite/gas/i386/x86-64-optimize-1.d: Adjust expectations. - -2019-06-25 Jan Beulich - - * testsuite/gas/i386/xmmword.s: Add cvtps2pi and cvttps2pi - tests. - * testsuite/gas/i386/xmmword.l: Adjust expectations. - -2019-06-25 Alan Modra - - * config/tc-ppc.c (ppc_handle_align): Add parentheses. - -2019-06-25 Alan Modra - - * config/tc-ppc.h (ppc_nop_select): Declare. - (NOP_OPCODE): Define. - * config/tc-ppc.c (ppc_elf_end, ppc_xcoff_end): Zero ppc_cpu. - (ppc_nop_encoding_for_rs_align_code): New enum. - (ppc_nop_select): New function. - (ppc_handle_align): Don't use ppc_cpu here. Get nop type from frag. - * testsuite/gas/ppc/groupnop.d, - * testsuite/gas/ppc/groupnop.s: New test. - * testsuite/gas/ppc/ppc.exp: Run it. - -2019-06-19 H.J. Lu - - PR binutils/24700 - * testsuite/gas/i386/disassem.s: Add test for vbroadcasti32x8 - with invalid vector length. - * testsuite/gas/i386/x86-64-disassem.s: Likewise. - * testsuite/gas/i386/disassem.d: Updated. - * testsuite/gas/i386/x86-64-disassem.d: Likewise. - -2019-06-17 H.J. Lu - - PR binutils/24691 - * testsuite/gas/i386/disassem.s: Add test for vshuff32x4 with - invalid vector length. - * testsuite/gas/i386/x86-64-disassem.s: Likewise. - * testsuite/gas/i386/disassem.d: Updated. - * testsuite/gas/i386/x86-64-disassem.d: Likewise. - -2019-06-14 Alan Modra - - * Makefile.in: Regenerate. - * configure: Regenerate. - * doc/Makefile.in: Regenerate. - -2019-06-12 Peter Bergner - - * testsuite/gas/ppc/power9.d: Delete ldmx tests. - * testsuite/gas/ppc/power9.s: Likewise. - -2019-06-06 Lili Cui - - * config/tc-i386.c (cpu_arch): Add .enqcmd. - (cpu_noarch): Add noenqcmd. - * doc/c-i386.texi: Document noenqcmd. - -2019-06-05 H.J. Lu - - PR binutils/24633 - * testsuite/gas/i386/disassem.s: Add tests for invalid vector - lengths for EVEX vextractfXX and vinsertfXX. - * testsuite/gas/i386/x86-64-disassem.s: Likewise. - * testsuite/gas/i386/disassem.d: Updated. - * testsuite/gas/i386/x86-64-disassem.d: Likewise. - -2019-06-04 H.J. Lu - - PR binutils/24626 - * testsuite/gas/i386/disassem.s: Add tests for reserved VEX.vvvv - and EVEX.vvvv. - * testsuite/gas/i386/x86-64-disassem.s: Likewise. - * testsuite/gas/i386/disassem.d: Updated. - * testsuite/gas/i386/x86-64-disassem.d: Likewise. - -2019-06-04 Igor Tsimbalist - Lili Cui - - * config/tc-i386.c (cpu_arch): Add .avx512_vp2intersect. - (cpu_noarch): Likewise. - * doc/c-i386.texi: Document avx512_vp2intersect. - * testsuite/gas/i386/i386.exp: Run vp2intersect tests. - * testsuite/gas/i386/vp2intersect-intel.d: New test. - * testsuite/gas/i386/vp2intersect.d: Likewise. - * testsuite/gas/i386/vp2intersect.s: Likewise. - * testsuite/gas/i386/vp2intersect-inval-bcast.l: Likewise. - * testsuite/gas/i386/vp2intersect-inval-bcast.s: Likewise. - * testsuite/gas/i386/x86-64-vp2intersect-intel.d: Likewise. - * testsuite/gas/i386/x86-64-vp2intersect.d: Likewise. - * testsuite/gas/i386/x86-64-vp2intersect.s: Likewise. - * testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l: Likewise. - * testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s: Likewise. - -2019-06-04 Xuepeng Guo - Lili Cui - - * doc/c-i386.texi: Document enqcmd. - * testsuite/gas/i386/enqcmd-intel.d: New file. - * testsuite/gas/i386/enqcmd-inval.l: Likewise. - * testsuite/gas/i386/enqcmd-inval.s: Likewise. - * testsuite/gas/i386/enqcmd.d: Likewise. - * testsuite/gas/i386/enqcmd.s: Likewise. - * testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise. - * testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise. - * testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise. - * testsuite/gas/i386/x86-64-enqcmd.d: Likewise. - * testsuite/gas/i386/x86-64-enqcmd.s: Likewise. - * testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval, - enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval, - and x86-64-enqcmd. - -2019-05-30 Jim Wilson - - * config/tc-riscv.c (riscv_ip) <'u'>: Move O_constant check inside if - statement. Delete O_symbol and O_constant check after if statement. - * testsuite/gas/riscv/auipc-parsing.s: Test lui with missing %hi. - * testsuite/gas/riscv/auipc-parsing.l: Update. - -2019-05-28 H.J. Lu - - PR gas/24625 - * testsuite/gas/i386/inval-avx512f.s: Add tests for AVX512_BF16 - instructions with invalid broadcast. - * testsuite/gas/i386/x86-64-inval-avx512f.s: Likewise. - * testsuite/gas/i386/inval-avx512f.l: Updated. - * testsuite/gas/i386/x86-64-inval-avx512f.l: Likewise. - -2019-05-27 Alan Modra - - * config/tc-ppc.c (is_ppc64_target): New function. - (md_show_usage): Split up usage message. Don't show -a64 when - unsupported. - testsuite/gas/ppc/ppc.exp (supports_ppc64): New. - (prefix-reloc): Only run for ppc64. - -2019-05-24 Szabolcs Nagy - - * config/tc-aarch64.c (aarch64_elf_copy_symbol_attributes): Define. - * config/tc-aarch64.h (aarch64_elf_copy_symbol_attributes): Declare. - (OBJ_COPY_SYMBOL_ATTRIBUTES): Define. - * testsuite/gas/aarch64/symbol-variant_pcs-3.d: New test. - * testsuite/gas/aarch64/symbol-variant_pcs-3.s: New test. - -2019-05-24 Szabolcs Nagy - - * config/tc-aarch64.c (s_variant_pcs): New function. - * doc/c-aarch64.texi: Document .variant_pcs. - * testsuite/gas/aarch64/symbol-variant_pcs-1.d: New test. - * testsuite/gas/aarch64/symbol-variant_pcs-1.s: New test. - * testsuite/gas/aarch64/symbol-variant_pcs-2.d: New test. - * testsuite/gas/aarch64/symbol-variant_pcs-2.s: New test. - -2019-05-24 Alan Modra - - * po/POTFILES.in: Regenerate. - -2019-05-24 Alan Modra - - * config/tc-ppc.c (ppc_elf_suffix): Support @pcrel, @got@pcrel, - @plt@pcrel, @higher34, @highera34, @highest34, and @highesta34. - (fixup_size): Handle new powerxx relocs. - (md_assemble): Warn for @pcrel on non-prefix insns. - Accept @l, @h and @ha on prefix insns, and infer reloc without - any @ suffix. Translate powerxx relocs to suit DQ and DS field - instructions. Include operand tests as well as opcode test to - translate BFD_RELOC_HI16_S to BFD_RELOC_PPC_16DX_HA. - (ppc_fix_adjustable): Return false for pcrel GOT and PLT relocs. - (md_apply_fix): Handle new powerxx relocs. - * config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): Accept - BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34, - BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34, - BFD_RELOC_PPC64_D34, and BFD_RELOC_PPC64_D28. - * testsuite/gas/ppc/prefix-reloc.d, - * testsuite/gas/ppc/prefix-reloc.s: New test. - * testsuite/gas/ppc/ppc.exp: Run it. - -2019-05-24 Peter Bergner - Alan Modra - - * config/tc-ppc.c (ppc_insert_operand): Only sign extend fields that - are 32-bits or smaller. - * messages.c (as_internal_value_out_of_range): Do not truncate - variables and use BFD_VMA_FMT to print them. - * testsuite/gas/ppc/prefix-pcrel.s, - * testsuite/gas/ppc/prefix-pcrel.d: New test. - * testsuite/gas/ppc/ppc.exp: Run it. - -2019-05-24 Peter Bergner - Alan Modra - - * config/tc-ppc.c (ppc_setup_opcodes): Handle prefix_opcodes. - (struct insn_label_list): New. - (insn_labels, free_insn_labels): New variables. - (ppc_record_label, ppc_clear_labels, ppc_start_line_hook): New funcs. - (ppc_frob_label, ppc_new_dot_label): Move functions earlier in file - and call ppc_record_label. - (md_assemble): Handle 64-bit prefix instructions. Align labels - that are on the same line as a prefix instruction. - * config/tc-ppc.h (tc_frob_label, ppc_frob_label): Move to - later in the file. - (md_start_line_hook): Define. - (ppc_start_line_hook): Declare. - * testsuite/gas/ppc/prefix-align.d, - * testsuite/gas/ppc/prefix-align.s: New test. - * testsuite/gas/ppc/ppc.exp: Run new test. - -2019-05-23 Jose E. Marchesi - - * configure.ac: Handle bpf-*-* targets. - * configure.tgt (generic_target): Likewise. - * configure: Regenerate. - * Makefile.am (TARGET_CPU_CFILES): Add tc-bpf.c. - (TARGET_CPU_HFILES): Add tc-bpf.h. - * Makefile.in: Regenerated. - * config/tc-bpf.c: New file. - * config/tc-bpf.h: Likewise. - * doc/Makefile.am (CPU_DOCS): Add c-bpf.texi. - * doc/Makefile.in: Regenerated. - * doc/all.texi: set BPF. - * doc/as.texi: Add eBPF contents. - * doc/c-bpf.texi: New file. - * testsuite/gas/bpf/alu.d: New file. - * testsuite/gas/bpf/mem-be.d: Likewise. - * testsuite/gas/bpf/mem.s: Likewise. - * testsuite/gas/bpf/mem.d: Likewise. - * testsuite/gas/bpf/lddw-be.d: Likewise. - * testsuite/gas/bpf/lddw.s: Likewise. - * testsuite/gas/bpf/lddw.d: Likewise. - * testsuite/gas/bpf/jump-be.d: Likewise. - * testsuite/gas/bpf/jump.s: Likewise. - * testsuite/gas/bpf/jump.d: Likewise. - * testsuite/gas/bpf/exit-be.d: Likewise. - * testsuite/gas/bpf/exit.s: Likewise. - * testsuite/gas/bpf/exit.d: Likewise. - * testsuite/gas/bpf/call-be.d: Likewise. - * testsuite/gas/bpf/call.s: Likewise. - * testsuite/gas/bpf/call.d: Likewise. - * testsuite/gas/bpf/bpf.exp: Likewise. - * testsuite/gas/bpf/atomic-be.d: Likewise. - * testsuite/gas/bpf/atomic.s: Likewise. - * testsuite/gas/bpf/atomic.d: Likewise. - * testsuite/gas/bpf/alu-be.d: Likewise. - * testsuite/gas/bpf/alu32-be.d: Likewise. - * testsuite/gas/bpf/alu32.s: Likewise. - * testsuite/gas/bpf/alu32.d: Likewise. - * testsuite/gas/bpf/alu.s: Likewise. - * testsuite/gas/all/gas.exp: Introduce a nop_type for eBPF. - * testsuite/gas/all/org-1.s: Support nop_type 6. - * testsuite/gas/all/org-1.l: Updated to reflect changes in - org-1.s. - -2019-05-22 John Darrington - - * config/tc-s12z.c (s12z_strtol): New function. (md_show_usage): Update. - (md_parse_option): new case OPTION_DOLLAR_HEX. (s12z_init_after_args): - (): Use s12z_strtol instead of strtol. - * doc/c-s12z.texi (S12Z Options): Document new option -mdollar-hex. - * testsuite/gas/s12z/dollar-hex.d: New file. - * testsuite/gas/s12z/dollar-hex.s: New file. - * testsuite/gas/s12z/s12z.exp: Add them. - -2019-05-21 Sudakshina Das - - * config/tc-arm.c (parse_operands): Update case OP_RVC to - parse p0 and P0. - (do_vmrs): Add checks for valid operands with respect to - cpu and fpu options. - (do_vmsr): Likewise. - (reg_names): New reg_names for FPSCR_nzcvqc, VPR, FPCXT_NS - and FPCXT_S. - * testsuite/gas/arm/armv8_1-m-spec-reg.d: New. - * testsuite/gas/arm/armv8_1-m-spec-reg.s: New. - * testsuite/gas/arm/armv8_1-m-spec-reg-bad1.d: New. - * testsuite/gas/arm/armv8_1-m-spec-reg-bad2.d: New. - * testsuite/gas/arm/armv8_1-m-spec-reg-bad3.d: New. - * testsuite/gas/arm/armv8_1-m-spec-reg-bad1.l: New. - * testsuite/gas/arm/armv8_1-m-spec-reg-bad2.l: New. - * testsuite/gas/arm/armv8_1-m-spec-reg-bad3.l: New. - * testsuite/gas/arm/vfp1xD.d: Updated to allow new valid values. - * testsuite/gas/arm/vfp1xD_t2.d: Likewise. - -2019-05-21 Sudakshina Das - - * config/tc-arm.c (TOGGLE_BIT): New. - (T16_32_TAB): New entries for cinc, cinv, cneg, csinc, - csinv, csneg, cset, csetm and csel. - (operand_parse_code): New OP_RR_ZR. - (parse_operand): Handle case for OP_RR_ZR. - (do_t_cond): New. - (insns): New instructions for cinc, cinv, cneg, csinc, - csinv, csneg, cset, csetm, csel. - * testsuite/gas/arm/armv8_1-m-cond-bad.d: New test. - * testsuite/gas/arm/armv8_1-m-cond-bad.l: New test. - * testsuite/gas/arm/armv8_1-m-cond-bad.s: New test. - * testsuite/gas/arm/armv8_1-m-cond.d: New test. - * testsuite/gas/arm/armv8_1-m-cond.s: New test. - -2019-05-21 Sudakshina Das - - * config/tc-arm.c (operand_parse_code): New entries for - OP_RRnpcsp_I32 (register or integer operands). - (do_mve_scalar_shift): New. - (insns): New instructions for asrl, lsll, lsrl, sqrshrl, sqrshr, sqshl - sqshll, srshr, srshrl, uqrshll, uqrshl, uqshll, uqshl, urshrl and urshr. - * testsuite/gas/arm/mve-shift.d: New. - * testsuite/gas/arm/mve-shift.s: New. - * testsuite/gas/arm/mve-shift-bad.d: New. - * testsuite/gas/arm/mve-shift-bad.s: New. - * testsuite/gas/arm/mve-shift-bad.l: New. - -2019-05-21 Faraz Shahbazker - - * testsuite/gas/mips/r6-branch-constraints.s: Rename to ... - * testsuite/gas/mips/r6-reg-constraints.s: this and add test - case for DAUI. - * testsuite/gas/mips/r6-branch-constraints.l: Rename to ... - * testsuite/gas/mips/r6-reg-constraints.l: this and add test - for DAUI. - * testsuite/gas/mips/mips.exp: Rename test from - r6-branch-constraints to r6-reg-constraints. - -2019-05-21 Andre Vieira - - PR 24559 - * config/tc-arm.c (move_or_literal_pool): Set size_req to 0 for MOVW - replacement. - * testsuite/gas/arm/load-pseudo.s: New test input. - * testsuite/gas/arm/m0-load-pseudo.d: New test. - * testsuite/gas/arm/m23-load-pseudo.d: New test. - * testsuite/gas/arm/m33-load-pseudo.d: New test. - -2019-05-21 Andre Vieira - - * testsuite/gas/arm/armv8_1-m-bf.d: Allow different branch target naming - conventions. - * testsuite/gas/arm/armv8_1-m-bfl.d: Likewise. - * testsuite/gas/arm/armv8_1-m-bfcsel.d: Likewise. - * testsuite/gas/arm/armv8_1-m-loloop.d: Likewise. - * testsuite/gas/arm/armv8_1-m-bf-rel.d: Skip for vxworks. - * testsuite/gas/arm/armv8_1-m-bf-rela.d: New test. - * testsuite/gas/arm/armv8_1-m-bfl-rel.d: Skip for vxworks. - * testsuite/gas/arm/armv8_1-m-bfl-rela.d: New test. - -2019-05-21 John Darrington - - * expr.c (literal_prefix_dollar_hex): New variable. - (operand)[case '$']: Use the new variable instead of the old macro. - Also, move this instance of "case '$'" next to the other one, and - enable it only in the complementary proprocessor case. - * expr.h (literal_prefix_dollar_hex): Declare it. - * config/tc-epiphany.c (md_begin): Assign literal_prefix_dollar_hex. - * config/tc-ip2k.c: ditto - * config/tc-mt.c: ditto - * config/tc-epiphany.h (LITERAL_PREFIXDOLLAR_HEX): Remove macro definition. - * config/tc-ip2k.h: ditto - * config/tc-mt.h: ditto - -2019-05-20 Faraz Shahbazker - - PR 14798 - * config/tc-mips.c (s_mips_globl): Only treat symbols that are - not explicitly labelled as BSF_OBJECTs for IRIX targets. - * testsuite/gas/mips/pr14798.s: New test source. - * testsuite/gas/mips/pr14798-irix.d: New test. - * testsuite/gas/mips/pr14798.d: Likewise. - * testsuite/gas/mips/mips.exp: Run the new tests. - -2019-05-17 John Darrington - - * doc/c-arm.texi (ARM Options): Remove "(r)" and "(tm)" - * doc/c-bfin.texi (Blackfin Syntax): Remove "(r)" - -2019-05-16 Andre Vieira - - * config/tc-arm.c (check_simd_pred_availability): Refactor. - (do_neon_dyadic_i_su): Refactor use of check_simd_pred_availability. - (do_neon_dyadic_i64_su): Likewise. - (do_neon_shl): Likewise. - (do_neon_qshl): Likewise. - (do_neon_rshl): Likewise. - (do_neon_logic): Likewise. - (do_neon_dyadic_if_su): Likewise. - (do_neon_addsub_if_i): Likewise. - (do_neon_mac_maybe_scalar): Likewise. - (do_neon_fmac): Likewise. - (do_neon_mul): Likewise. - (do_neon_qdmulh): Likewise. - (do_neon_qrdmlah): Likewise. - (do_neon_abs_neg): Likewise. - (do_neon_sli): Likewise. - (do_neon_sri): Likewise. - (do_neon_qshlu_imm): Likewise. - (do_neon_cvt_1): Likewise. - (do_neon_cvttb_1): Likewise. - (do_neon_mvn): Likewise. - (do_neon_rev): Likewise. - (do_neon_dup): Likewise. - (do_neon_mov): Likewise. - (do_neon_rshift_round_imm): Likewise. - (do_neon_sat_abs_neg): Likewise. - (do_neon_cls): Likewise. - (do_neon_clz): Likewise. - (do_vmaxnm): Likewise. - (do_vrint_1): Likewise. - (do_vcmla): Likewise. - (do_vcadd): Likewise. - -2019-05-16 Andre Vieira - - * NEWS: Mention Armv8.1-M Mainline and MVE. - -2019-05-16 Andre Vieira - - * testsuite/gas/arm/mve-tailpredloop.d: New test. - * testsuite/gas/arm/mve-tailpredloop.s: New test. - * testsuite/gas/arm/mve-vabav.d: New test. - * testsuite/gas/arm/mve-vabav.s: New test. - * testsuite/gas/arm/mve-vabd.d: New test. - * testsuite/gas/arm/mve-vabd.s: New test. - * testsuite/gas/arm/mve-vabsneg.d: New test. - * testsuite/gas/arm/mve-vabsneg.s: New test. - * testsuite/gas/arm/mve-vadc.d: New test. - * testsuite/gas/arm/mve-vadc.s: New test. - * testsuite/gas/arm/mve-vaddlv.d: New test. - * testsuite/gas/arm/mve-vaddlv.s: New test. - * testsuite/gas/arm/mve-vaddsub.d: New test. - * testsuite/gas/arm/mve-vaddsub.s: New test. - * testsuite/gas/arm/mve-vaddv.d: New test. - * testsuite/gas/arm/mve-vaddv.s: New test. - * testsuite/gas/arm/mve-vand.d: New test. - * testsuite/gas/arm/mve-vand.s: New test. - * testsuite/gas/arm/mve-vbic.d: New test. - * testsuite/gas/arm/mve-vbic.s: New test. - * testsuite/gas/arm/mve-vbrsr.d: New test. - * testsuite/gas/arm/mve-vbrsr.s: New test. - * testsuite/gas/arm/mve-vcadd.d: New test. - * testsuite/gas/arm/mve-vcadd.s: New test. - * testsuite/gas/arm/mve-vcls.d: New test. - * testsuite/gas/arm/mve-vcls.s: New test. - * testsuite/gas/arm/mve-vclz.d: New test. - * testsuite/gas/arm/mve-vclz.s: New test. - * testsuite/gas/arm/mve-vcmla.d: New test. - * testsuite/gas/arm/mve-vcmla.s: New test. - * testsuite/gas/arm/mve-vcmp.d: New test. - * testsuite/gas/arm/mve-vcmp.s: New test. - * testsuite/gas/arm/mve-vcmul.d: New test. - * testsuite/gas/arm/mve-vcmul.s: New test. - * testsuite/gas/arm/mve-vcvt-1.d: New test. - * testsuite/gas/arm/mve-vcvt-1.s: New test. - * testsuite/gas/arm/mve-vcvt-2.d: New test. - * testsuite/gas/arm/mve-vcvt-2.s: New test. - * testsuite/gas/arm/mve-vcvt-3.d: New test. - * testsuite/gas/arm/mve-vcvt-3.s: New test. - * testsuite/gas/arm/mve-vcvt-4.d: New test. - * testsuite/gas/arm/mve-vcvt-4.s: New test. - * testsuite/gas/arm/mve-vddup.d: New test. - * testsuite/gas/arm/mve-vddup.s: New test. - * testsuite/gas/arm/mve-vdup.d: New test. - * testsuite/gas/arm/mve-vdup.s: New test. - * testsuite/gas/arm/mve-veor.d: New test. - * testsuite/gas/arm/mve-veor.s: New test. - * testsuite/gas/arm/mve-vfma-vfms.d: New test. - * testsuite/gas/arm/mve-vfma-vfms.s: New test. - * testsuite/gas/arm/mve-vfmas.d: New test. - * testsuite/gas/arm/mve-vfmas.s: New test. - * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.d: New test. - * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.s: New test. - * testsuite/gas/arm/mve-vhcadd.d: New test. - * testsuite/gas/arm/mve-vhcadd.s: New test. - * testsuite/gas/arm/mve-vmax-vmin.d: New test. - * testsuite/gas/arm/mve-vmax-vmin.s: New test. - * testsuite/gas/arm/mve-vmaxa-vmina.d: New test. - * testsuite/gas/arm/mve-vmaxa-vmina.s: New test. - * testsuite/gas/arm/mve-vmaxnm-vminnm.d: New test. - * testsuite/gas/arm/mve-vmaxnm-vminnm.s: New test. - * testsuite/gas/arm/mve-vmaxnma-vminnma.s: New test. - * testsuite/gas/arm/mve-vmaxnmv-vminnmv.d: New test. - * testsuite/gas/arm/mve-vmaxnmv-vminnmv.s: New test. - * testsuite/gas/arm/mve-vmaxv-vminv.d: New test. - * testsuite/gas/arm/mve-vmaxv-vminv.s: New test. - * testsuite/gas/arm/mve-vmla.d: New test. - * testsuite/gas/arm/mve-vmla.s: New test. - * testsuite/gas/arm/mve-vmladav.d: New test. - * testsuite/gas/arm/mve-vmladav.s: New test. - * testsuite/gas/arm/mve-vmlaldav.d: New test. - * testsuite/gas/arm/mve-vmlaldav.s: New test. - * testsuite/gas/arm/mve-vmlalv.d: New test. - * testsuite/gas/arm/mve-vmlalv.s: New test. - * testsuite/gas/arm/mve-vmlas.d: New test. - * testsuite/gas/arm/mve-vmlas.s: New test. - * testsuite/gas/arm/mve-vmlav.d: New test. - * testsuite/gas/arm/mve-vmlav.s: New test. - * testsuite/gas/arm/mve-vmlsdav.d: New test. - * testsuite/gas/arm/mve-vmlsdav.s: New test. - * testsuite/gas/arm/mve-vmlsldav.d: New test. - * testsuite/gas/arm/mve-vmlsldav.s: New test. - * testsuite/gas/arm/mve-vmov-1.d: New test. - * testsuite/gas/arm/mve-vmov-1.s: New test. - * testsuite/gas/arm/mve-vmov-2.d: New test. - * testsuite/gas/arm/mve-vmov-2.s: New test. - * testsuite/gas/arm/mve-vmul.d: New test. - * testsuite/gas/arm/mve-vmul.s: New test. - * testsuite/gas/arm/mve-vmulh.d: New test. - * testsuite/gas/arm/mve-vmulh.s: New test. - * testsuite/gas/arm/mve-vmullbt.d: New test. - * testsuite/gas/arm/mve-vmullbt.s: New test. - * testsuite/gas/arm/mve-vmvn.d: New test. - * testsuite/gas/arm/mve-vmvn.s: New test. - * testsuite/gas/arm/mve-vorn.d: New test. - * testsuite/gas/arm/mve-vorn.s: New test. - * testsuite/gas/arm/mve-vorr.d: New test. - * testsuite/gas/arm/mve-vorr.s: New test. - * testsuite/gas/arm/mve-vpnot.d: New test. - * testsuite/gas/arm/mve-vpnot.s: New test. - * testsuite/gas/arm/mve-vpsel.d: New test. - * testsuite/gas/arm/mve-vpsel.s: New test. - * testsuite/gas/arm/mve-vpt.d: New test. - * testsuite/gas/arm/mve-vpt.s: New test. - * testsuite/gas/arm/mve-vqabsneg.s: New test. - * testsuite/gas/arm/mve-vqaddsub.d: New test. - * testsuite/gas/arm/mve-vqaddsub.s: New test. - * testsuite/gas/arm/mve-vqdmladh.d: New test. - * testsuite/gas/arm/mve-vqdmladh.s: New test. - * testsuite/gas/arm/mve-vqdmlah.d: New test. - * testsuite/gas/arm/mve-vqdmlah.s: New test. - * testsuite/gas/arm/mve-vqdmlash.d: New test. - * testsuite/gas/arm/mve-vqdmlash.s: New test. - * testsuite/gas/arm/mve-vqdmlsdh.d: New test. - * testsuite/gas/arm/mve-vqdmlsdh.s: New test. - * testsuite/gas/arm/mve-vqdmulh.d: New test. - * testsuite/gas/arm/mve-vqdmulh.s: New test. - * testsuite/gas/arm/mve-vqdmull.d: New test. - * testsuite/gas/arm/mve-vqdmull.s: New test. - * testsuite/gas/arm/mve-vqmovn.d: New test. - * testsuite/gas/arm/mve-vqmovn.s: New test. - * testsuite/gas/arm/mve-vqrshl.d: New test. - * testsuite/gas/arm/mve-vqrshl.s: New test. - * testsuite/gas/arm/mve-vqrshrn.d: New test. - * testsuite/gas/arm/mve-vqrshrn.s: New test. - * testsuite/gas/arm/mve-vqshl.d: New test. - * testsuite/gas/arm/mve-vqshl.s: New test. - * testsuite/gas/arm/mve-vrev.d: New test. - * testsuite/gas/arm/mve-vrev.s: New test. - * testsuite/gas/arm/mve-vrint.d: New test. - * testsuite/gas/arm/mve-vrint.s: New test. - * testsuite/gas/arm/mve-vrmlaldavh.d: New test. - * testsuite/gas/arm/mve-vrmlaldavh.s: New test. - * testsuite/gas/arm/mve-vrshl.d: New test. - * testsuite/gas/arm/mve-vrshl.s: New test. - * testsuite/gas/arm/mve-vsbc.d: New test. - * testsuite/gas/arm/mve-vsbc.s: New test. - * testsuite/gas/arm/mve-vshl.d: New test. - * testsuite/gas/arm/mve-vshl.s: New test. - * testsuite/gas/arm/mve-vshlc.d: New test. - * testsuite/gas/arm/mve-vshlc.s: New test. - * testsuite/gas/arm/mve-vshll.d: New test. - * testsuite/gas/arm/mve-vshll.s: New test. - * testsuite/gas/arm/mve-vshr.d: New test. - * testsuite/gas/arm/mve-vshr.s: New test. - * testsuite/gas/arm/mve-vshrn.d: New test. - * testsuite/gas/arm/mve-vshrn.s: New test. - * testsuite/gas/arm/mve-vsli.d: New test. - * testsuite/gas/arm/mve-vsli.s: New test. - * testsuite/gas/arm/mve-vsri.d: New test. - * testsuite/gas/arm/mve-vsri.s: New test. - * testsuite/gas/arm/mve-vstld.d: New test. - * testsuite/gas/arm/mve-vstld.s: New test. - * testsuite/gas/arm/mve-vstrldr-1.d: New test. - * testsuite/gas/arm/mve-vstrldr-1.s: New test. - * testsuite/gas/arm/mve-vstrldr-2.d: New test. - * testsuite/gas/arm/mve-vstrldr-2.s: New test. - * testsuite/gas/arm/mve-vstrldr-3.d: New test. - * testsuite/gas/arm/mve-vstrldr-3.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (T16_32_TAB): Add new instructions. - (do_t_loloop): Changed to handle tail predication variants. - (md_apply_fix): Likewise. - (insns): Add entries for MVE mnemonics. - * testsuite/gas/arm/mve-tailpredloop-bad.d: New test. - * testsuite/gas/arm/mve-tailpredloop-bad.l: New test. - * testsuite/gas/arm/mve-tailpredloop-bad.s: New test. - * testsuite/gas/arm/mve-tailpredloop.d: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_mve_vshll): New encoding function. - (do_mve_vshlc): Likewise. - (insns): Add entries for MVE mnemonics. - * testsuite/gas/arm/mve-vshlc-bad.d: New test. - * testsuite/gas/arm/mve-vshlc-bad.l: New test. - * testsuite/gas/arm/mve-vshlc-bad.s: New test. - * testsuite/gas/arm/mve-vshll-bad.d: New test. - * testsuite/gas/arm/mve-vshll-bad.l: New test. - * testsuite/gas/arm/mve-vshll-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum operand_parse_code): Add new operand. - (parse_operands): Handle new operand. - (do_neon_shl_imm): Accept MVE variants. - (do_neon_shl): Likewise. - (do_neon_qshl_imm): Likewise. - (do_neon_qshl): Likewise. - (do_neon_qshlu_imm): Likewise. - (insns): Likewise. - * testsuite/gas/arm/mve-vqshl-bad.d: New test. - * testsuite/gas/arm/mve-vqshl-bad.l: New test. - * testsuite/gas/arm/mve-vqshl-bad.s: New test. - * testsuite/gas/arm/mve-vshl-bad.d: New test. - * testsuite/gas/arm/mve-vshl-bad.l: New test. - * testsuite/gas/arm/mve-vshl-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_neon_sli): Accept MVE variants. - (do_neon_sri): Likewise. - (do_neon_rev): Likewise. - (do_neon_rshift_round_imm): Likewise. - (insns): Likewise. - * testsuite/gas/arm/mve-vrev-bad.d: New test. - * testsuite/gas/arm/mve-vrev-bad.l: New test. - * testsuite/gas/arm/mve-vrev-bad.s: New test. - * testsuite/gas/arm/mve-vshr-bad.d: New test. - * testsuite/gas/arm/mve-vshr-bad.l: New test. - * testsuite/gas/arm/mve-vshr-bad.s: New test. - * testsuite/gas/arm/mve-vsli-bad.d: New test. - * testsuite/gas/arm/mve-vsli-bad.l: New test. - * testsuite/gas/arm/mve-vsli-bad.s: New test. - * testsuite/gas/arm/mve-vsri-bad.d: New test. - * testsuite/gas/arm/mve-vsri-bad.l: New test. - * testsuite/gas/arm/mve-vsri-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_vrint_1): Accept MVE variants. - (insns): Change entries to accept MVE variants. - * testsuite/gas/arm/mve-vrint-bad.d: New test. - * testsuite/gas/arm/mve-vrint-bad.l: New test. - * testsuite/gas/arm/mve-vrint-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (M_MNEM_vshrnt, M_MNEM_vshrnb, M_MNEM_vrshrnt, - M_MNEM_vqshrnt, M_MNEM_vqshrnb, M_MNEM_vqshrunt, M_MNEM_vqshrunb, - M_MNEM_vrshrnb, M_MNEM_vqrshrnt, M_MNEM_vqrshrnb, M_MNEM_vqrshrunt, - M_MNEM_vqrshrunb): New instruction encodings. - (do_mve_vshrn): New encoding function. - (insns): Add entries for MVE mnemonics. - * testsuite/gas/arm/mve-vqrshrn-bad.d: New test. - * testsuite/gas/arm/mve-vqrshrn-bad.l: New test. - * testsuite/gas/arm/mve-vqrshrn-bad.s: New test. - * testsuite/gas/arm/mve-vshrn-bad.d: New test. - * testsuite/gas/arm/mve-vshrn-bad.l: New test. - * testsuite/gas/arm/mve-vshrn-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (M_MNEM_vqmovnt, M_MNEM_vqmovnb, - M_MNEM_vqmovunt, M_MNEM_vqmovunb): New instruction encodings. - (do_mve_vqmovn): New encoding function. - (do_neon_rshl): Change to accepte MVE variants. - (insns): Change entries and add new for MVE mnemonics. - * testsuite/gas/arm/mve-vqmovn-bad.d: New test. - * testsuite/gas/arm/mve-vqmovn-bad.l: New test. - * testsuite/gas/arm/mve-vqmovn-bad.s: New test. - * testsuite/gas/arm/mve-vqrshl-bad.d: New test. - * testsuite/gas/arm/mve-vqrshl-bad.l: New test. - * testsuite/gas/arm/mve-vqrshl-bad.s: New test. - * testsuite/gas/arm/mve-vrshl-bad.d: New test. - * testsuite/gas/arm/mve-vrshl-bad.l: New test. - * testsuite/gas/arm/mve-vrshl-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum operand_parse_code): Add new operand. - (parse_operands): Handle new operand. - (do_mve_vqdmull): New encoding function. - (insns): Add entry for MVE mnemonics. - * testsuite/gas/arm/mve-vqdmull-bad.d: New test. - * testsuite/gas/arm/mve-vqdmull-bad.l: New test. - * testsuite/gas/arm/mve-vqdmull-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum operand_parse_code): Add new operand. - (parse_operands): Handle new operand. - (mve_encode_qqr): Handle new instructions. - (do_neon_qdmulh): Add support for MVE variants. - (do_neon_qrdmlah): Likewise. - (do_mve_vqdmlah): New encoding function. - (insns): Change entries and add new entries for MVE mnemonics. - * testsuite/gas/arm/mve-vqdmulh-bad.d: New test. - * testsuite/gas/arm/mve-vqdmulh-bad.l: New test. - * testsuite/gas/arm/mve-vqdmulh-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_mve_vqdmladh): New encoding function. - (insns): Add entries for MVE mnemonics. - * testsuite/gas/arm/mve-vqdmladh-bad.d: New test. - * testsuite/gas/arm/mve-vqdmladh-bad.l: New test. - * testsuite/gas/arm/mve-vqdmladh-bad.s: New test. - * testsuite/gas/arm/mve-vqdmlsdh-bad.d: New test. - * testsuite/gas/arm/mve-vqdmlsdh-bad.l: New test. - * testsuite/gas/arm/mve-vqdmlsdh-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_mve_vpsel): New encoding function. - (do_mve_vpnot): Likewise. - (insns): Add entries for MVE mnemonics. - * testsuite/gas/arm/mve-vpnot-bad.d: New test. - * testsuite/gas/arm/mve-vpnot-bad.l: New test. - * testsuite/gas/arm/mve-vpnot-bad.s: New test. - * testsuite/gas/arm/mve-vpsel-bad.d: New test. - * testsuite/gas/arm/mve-vpsel-bad.l: New test. - * testsuite/gas/arm/mve-vpsel-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_neon_mvn): Change to accept MVE variants. - (do_neon_sat_abs_neg): Likewise. - (insns): Likewise. - * testsuite/gas/arm/mve-vmvn-bad.d: New test. - * testsuite/gas/arm/mve-vmvn-bad.l: New test. - * testsuite/gas/arm/mve-vmvn-bad.s: New test. - * testsuite/gas/arm/mve-vqabsneg-bad.d: New test. - * testsuite/gas/arm/mve-vqabsneg-bad.l: New test. - * testsuite/gas/arm/mve-vqabsneg-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_mve_vmlas): New encoding function. - (do_mve_vmulh): Likewise. - (insns): Add entries for MVE mnemonics. - * testsuite/gas/arm/mve-vmlas-bad.d: New test. - * testsuite/gas/arm/mve-vmlas-bad.l: New test. - * testsuite/gas/arm/mve-vmlas-bad.s: New test. - * testsuite/gas/arm/mve-vmulh-bad.d: New test. - * testsuite/gas/arm/mve-vmulh-bad.l: New test. - * testsuite/gas/arm/mve-vmulh-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum operand_parse_code): New operand. - (parse_operands): Handle new operand. - (mve_encode_qqr): Handle new instructions. - (do_neon_dyadic_i64_su): Accept MVE variants. - (neon_dyadic_misc): Likewise. - (do_neon_mac_maybe_scalar): Likewise. - (do_neon_mul): Likewise. - (insns): Change to accept MVE variants. - * testsuite/gas/arm/mve-vmla-bad.d: New test. - * testsuite/gas/arm/mve-vmla-bad.l: New test. - * testsuite/gas/arm/mve-vmla-bad.s: New test. - * testsuite/gas/arm/mve-vmul-bad-1.d: New test. - * testsuite/gas/arm/mve-vmul-bad-1.l: New test. - * testsuite/gas/arm/mve-vmul-bad-1.s: New test. - * testsuite/gas/arm/mve-vmul-bad-2.d: New test. - * testsuite/gas/arm/mve-vmul-bad-2.l: New test. - * testsuite/gas/arm/mve-vmul-bad-2.s: New test. - * testsuite/gas/arm/mve-vqaddsub-bad.d: New test. - * testsuite/gas/arm/mve-vqaddsub-bad.l: New test. - * testsuite/gas/arm/mve-vqaddsub-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (M_MNEM_vmlaldav, M_MNEM_vmlaldava, - M_MNEM_vmlaldavx, M_MNEM_vmlaldavax, M_MNEM_vmlsldav, - M_MNEM_vmlsldava, M_MNEM_vmlsldavx, M_MNEM_vmlsldavax, - M_MNEM_vrmlaldavhx, M_MNEM_vrmlaldavhax, M_MNEM_vrmlsldavh, - M_MNEM_vrmlsldavha, M_MNEM_vrmlsldavhx, M_MNEM_vrmlsldavhax): New - instruction encodings. - (NEON_SHAPE_DEF): New shape - (mve_encode_rrqq): New encoding helper function. - (do_mve_vmlaldav): New encoding function. - (do_mve_vrmlaldavh): New encoding function. - (insns): Add entries for MVE mnemonics. - * testsuite/gas/arm/mve-vmlaldav-bad.d: New test. - * testsuite/gas/arm/mve-vmlaldav-bad.l: New test. - * testsuite/gas/arm/mve-vmlaldav-bad.s: New test. - * testsuite/gas/arm/mve-vmlalv-bad.d: New test. - * testsuite/gas/arm/mve-vmlalv-bad.l: New test. - * testsuite/gas/arm/mve-vmlalv-bad.s: New test. - * testsuite/gas/arm/mve-vmlsldav-bad.d: New test. - * testsuite/gas/arm/mve-vmlsldav-bad.l: New test. - * testsuite/gas/arm/mve-vmlsldav-bad.s: New test. - * testsuite/gas/arm/mve-vrmlaldavh-bad.d: New test. - * testsuite/gas/arm/mve-vrmlaldavh-bad.l: New test. - * testsuite/gas/arm/mve-vrmlaldavh-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (M_MNEM_vmaxv, M_MNEM_vmaxav, M_MNEM_vminv, - M_MNEM_vminav): New instruction encodings. - (do_mve_vmaxv): New encoding function. - (insns): Add entries for new MVE mnemonics. - * testsuite/gas/arm/mve-vmaxv-vminv-bad.d: New test. - * testsuite/gas/arm/mve-vmaxv-vminv-bad.l: New test. - * testsuite/gas/arm/mve-vmaxv-vminv-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_mve_vmaxnmv): New encoding function. - (insns): Add entries for new mnemonics. - * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.d: New test. - * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.l: New test. - * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_mve_vmaxa_vmina): New encoding function. - (do_mve_vmaxnma_vminnma): Likewise. - (do_neon_dyadic_if_su): Change to support MVE variants. - (do_vmaxnm): Likewise. - (insns): Change to accept MVE variants and add new. - * testsuite/gas/arm/mve-vmax-vmin-bad.d: New test. - * testsuite/gas/arm/mve-vmax-vmin-bad.l: New test. - * testsuite/gas/arm/mve-vmax-vmin-bad.s: New test. - * testsuite/gas/arm/mve-vmaxa-vmina-bad.d: New test. - * testsuite/gas/arm/mve-vmaxa-vmina-bad.l: New test. - * testsuite/gas/arm/mve-vmaxa-vmina-bad.s: New test. - * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.d: New test. - * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.l: New test. - * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.s: New test. - * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.d: New test. - * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.l: New test. - * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum operand_parse_code): New operand. - (parse_operands): Handle new operand. - (mve_encode_qqr): Change to support new instructions. - (enum vfp_or_neon_is_neon_bits): Moved. - (vfp_or_neon_is_neon): Moved. - (check_simd_pred_availability): Moved. - (do_neon_dyadic_i_su): Changed to support MVE variants. - (neon_dyadic_misc): Changed mve_encode_qqr call. - (do_mve_vbrsr): Likewise. - (do_mve_vhcadd): New encoding function. - (insns): Change existing to accept MVE variants and add new. - * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.d: New test. - * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.l: New test. - * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.s: New test. - * testsuite/gas/arm/mve-vhcadd-bad.d: New test. - * testsuite/gas/arm/mve-vhcadd-bad.l: New test. - * testsuite/gas/arm/mve-vhcadd-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_neon_fmac): Change to support MVE variants. - (insns): Change to accept MVE variants. - * testsuite/gas/arm/mve-vfma-vfms-bad.d: New test. - * testsuite/gas/arm/mve-vfma-vfms-bad.l: New test. - * testsuite/gas/arm/mve-vfma-vfms-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (M_MNEM_vddup, M_MNEM_vdwdup, M_MNEM_vidup, - M_MNEM_viwdup): New instruction encodings. - (NEON_SHAPE_DEF): New shapes. - (do_mve_viddup): New encoding function. - (do_neon_dup): Change to support new MVE variants. - (insns): Change existing to accept MVE variants and add new. - * testsuite/gas/arm/mve-vddup-bad.d: New test. - * testsuite/gas/arm/mve-vddup-bad.l: New test. - * testsuite/gas/arm/mve-vddup-bad.s: New test. - * testsuite/gas/arm/mve-vdup-bad.d: New test. - * testsuite/gas/arm/mve-vdup-bad.l: New test. - * testsuite/gas/arm/mve-vdup-bad.s: New test. - * testsuite/gas/arm/mve-vidup-bad.d: New test. - * testsuite/gas/arm/mve-vidup-bad.l: New test. - * testsuite/gas/arm/mve-vidup-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_mve_vfmas): New encoding function. - (do_neon_cls): Change to support MVE variants. - (do_neon_clz): Change to support MVE variants. - (insns): Change to support MVE variants and add new. - * testsuite/gas/arm/mve-vcls-bad.d: New test. - * testsuite/gas/arm/mve-vcls-bad.l: New test. - * testsuite/gas/arm/mve-vcls-bad.s: New test. - * testsuite/gas/arm/mve-vclz-bad.d: New test. - * testsuite/gas/arm/mve-vclz-bad.l: New test. - * testsuite/gas/arm/mve-vclz-bad.s: New test. - * testsuite/gas/arm/mve-vfmas-bad.d: New test. - * testsuite/gas/arm/mve-vfmas-bad.l: New test. - * testsuite/gas/arm/mve-vfmas-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum operand_parse_code): New operands. - (parse_operands): Handle new operands. - (do_mve_vcmul): New encoding function. - (do_vcmla): Change to support MVE variants. - (do_vcadd): Change to support MVE variants. - (insns): Change existing to support MVE variants and add new. - * testsuite/gas/arm/mve-vcadd-bad-1.d: New test. - * testsuite/gas/arm/mve-vcadd-bad-1.l: New test. - * testsuite/gas/arm/mve-vcadd-bad-1.s: New test. - * testsuite/gas/arm/mve-vcadd-bad-2.d: New test. - * testsuite/gas/arm/mve-vcadd-bad-2.l: New test. - * testsuite/gas/arm/mve-vcadd-bad-2.s: New test. - * testsuite/gas/arm/mve-vcmla-bad-1.d: New test. - * testsuite/gas/arm/mve-vcmla-bad-1.l: New test. - * testsuite/gas/arm/mve-vcmla-bad-1.s: New test. - * testsuite/gas/arm/mve-vcmla-bad-2.d: New test. - * testsuite/gas/arm/mve-vcmla-bad-2.l: New test. - * testsuite/gas/arm/mve-vcmla-bad-2.s: New test. - * testsuite/gas/arm/mve-vcmul-bad-1.d: New test. - * testsuite/gas/arm/mve-vcmul-bad-1.l: New test. - * testsuite/gas/arm/mve-vcmul-bad-1.s: New test. - * testsuite/gas/arm/mve-vcmul-bad-2.d: New test. - * testsuite/gas/arm/mve-vcmul-bad-2.l: New test. - * testsuite/gas/arm/mve-vcmul-bad-2.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum operand_parse_code): New operands. - (parse_operands): Handle new operands. - (enum vfp_or_neon_is_neon_bits): Moved - (vfp_or_neon_is_neon): Moved - (check_simd_pred_availability): Moved. - (do_neon_logic): Change to accept MVE variants. - (insns): Changed to accept MVE variants. - * testsuite/gas/arm/mve-vand-bad.d: New test. - * testsuite/gas/arm/mve-vand-bad.l: New test. - * testsuite/gas/arm/mve-vand-bad.s: New test. - * testsuite/gas/arm/mve-vbic-bad.d: New test. - * testsuite/gas/arm/mve-vbic-bad.l: New test. - * testsuite/gas/arm/mve-vbic-bad.s: New test. - * testsuite/gas/arm/mve-veor-bad.d: New test. - * testsuite/gas/arm/mve-veor-bad.l: New test. - * testsuite/gas/arm/mve-veor-bad.s: New test. - * testsuite/gas/arm/mve-vorn-bad.d: New test. - * testsuite/gas/arm/mve-vorn-bad.l: New test. - * testsuite/gas/arm/mve-vorn-bad.s: New test. - * testsuite/gas/arm/mve-vorr-bad.d: New test. - * testsuite/gas/arm/mve-vorr-bad.l: New test. - * testsuite/gas/arm/mve-vorr-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (M_MNEM_vaddlv, M_MNEM_vaddlva, M_MNEM_vaddv, - M_MNEM_vaddva): New instruction encodings. - (mve_encode_rq): New encoding helper function. - (do_mve_vaddlv): New encoding function. - (do_mve_vaddv): New encoding function. - * testsuite/gas/arm/mve-vaddlv-bad.d: New test. - * testsuite/gas/arm/mve-vaddlv-bad.l: New test. - * testsuite/gas/arm/mve-vaddlv-bad.s: New test. - * testsuite/gas/arm/mve-vaddv-bad.d: New test. - * testsuite/gas/arm/mve-vaddv-bad.l: New test. - * testsuite/gas/arm/mve-vaddv-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (M_MNEM_vadc, M_MNEM_vadci, M_MNEM_vbrsr): - New instruction encodings. - (do_mve_vadc): New encoding instruction. - (do_mve_vbrsr): Likewise. - (do_mve_vsbc): Likewise. - * testsuite/gas/arm/mve-vadc-bad.d: New test. - * testsuite/gas/arm/mve-vadc-bad.l: New test. - * testsuite/gas/arm/mve-vadc-bad.s: New test. - * testsuite/gas/arm/mve-vbrsr-bad.d: New test. - * testsuite/gas/arm/mve-vbrsr-bad.l: New test. - * testsuite/gas/arm/mve-vbrsr-bad.s: New test. - * testsuite/gas/arm/mve-vsbc-bad.d: New test. - * testsuite/gas/arm/mve-vsbc-bad.l: New test. - * testsuite/gas/arm/mve-vsbc-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (MVE_BAD_QREG): New error message. - (enum operand_parse_code): Define new operand. - (parse_operands): Handle new operand. - (do_mve_vpt): Change for VPT blocks. - (NEON_SHAPE_DEF): New shape. - (neon_logbits): Moved. - (LOW4): Moved - (HI1): Moved - (mve_get_vcmp_vpt_cond): New function to translate vpt conditions. - (do_mve_vcmp): New encoding function. - (do_vfp_nsyn_cmp): Changed to support MVE variants. - (insns): Change to support MVE variants of vcmp and add vpt. - * testsuite/gas/arm/mve-vcmp-bad-1.d: New test. - * testsuite/gas/arm/mve-vcmp-bad-1.l: New test. - * testsuite/gas/arm/mve-vcmp-bad-1.s: New test. - * testsuite/gas/arm/mve-vcmp-bad-2.d: New test. - * testsuite/gas/arm/mve-vcmp-bad-2.l: New test. - * testsuite/gas/arm/mve-vcmp-bad-2.s: New test. - * testsuite/gas/arm/mve-vpt-bad-1.d: New test. - * testsuite/gas/arm/mve-vpt-bad-1.l: New test. - * testsuite/gas/arm/mve-vpt-bad-1.s: New test. - * testsuite/gas/arm/mve-vpt-bad-2.d: New test. - * testsuite/gas/arm/mve-vpt-bad-2.l: New test. - * testsuite/gas/arm/mve-vpt-bad-2.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (struct arm_it): Expand isscalar field to be able to - distinguish between types of scalar. - (parse_typed_reg_or_scalar): Change to accept MVE scalar variants. - (parse_scalar): Likewise. - (parse_neon_mov): Accept MVE variant. - (po_scalar_or_goto): Make use reg_type. - (parse_operands): Change uses of po_scalar_or_goto. - (do_vfp_sp_monadic): Change to accept MVE variants. - (do_vfp_reg_from_sp): Likewise. - (do_vfp_sp_from_reg): Likewise. - (do_vfp_dp_rd_rm): Likewise. - (do_vfp_dp_rd_rn_rm): Likewise. - (do_vfp_dp_rm_rd_rn): Likewise. - (M_MNEM_vmovlt, M_MNEM_vmovlb, M_MNEM_vmovnt, M_MNEM_vmovnb): New - instruction encodings. - (NEON_SHAPE_DEF): New shape. - (do_mve_mov): New encoding fuction. - (do_mve_movn): Likewise. - (do_mve_movl): Likewise. - (do_neon_mov): Change to accept MVE variants. - (mcCE): New MACRO. - (insns): Accept new MVE variants and instructions. - * testsuite/gas/arm/mve-vmov-bad-1.d: New test. - * testsuite/gas/arm/mve-vmov-bad-1.l: New test. - * testsuite/gas/arm/mve-vmov-bad-1.s: New test. - * testsuite/gas/arm/mve-vmov-bad-2.d: New test. - * testsuite/gas/arm/mve-vmov-bad-2.l: New test. - * testsuite/gas/arm/mve-vmov-bad-2.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum operand_parse_code): Add new operand. - (parse_operands): Handle new operand. - (do_neon_cvt_1): Handle MVE variants. - (do_neon_cvttb_1): Likewise. - (insns): Accept MVE variants. - * testsuite/gas/arm/mve-vcvt-bad-1.d: New test. - * testsuite/gas/arm/mve-vcvt-bad-1.l: New test. - * testsuite/gas/arm/mve-vcvt-bad-1.s: New test. - * testsuite/gas/arm/mve-vcvt-bad-2.d: New test. - * testsuite/gas/arm/mve-vcvt-bad-2.l: New test. - * testsuite/gas/arm/mve-vcvt-bad-2.s: New test. - * testsuite/gas/arm/mve-vcvt-bad-3.d: New test. - * testsuite/gas/arm/mve-vcvt-bad-3.l: New test. - * testsuite/gas/arm/mve-vcvt-bad-3.s: New test. - * testsuite/gas/arm/mve-vcvt-bad-4.d: New test. - * testsuite/gas/arm/mve-vcvt-bad-4.l: New test. - * testsuite/gas/arm/mve-vcvt-bad-4.s: New test. - * testsuite/gas/arm/mve-vcvt-bad.d: New test. - * testsuite/gas/arm/mve-vcvt-bad.l: New test. - * testsuite/gas/arm/mve-vcvt-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (struct arm_it): Make immisreg field larger to hold - type of register. - (enum shift_kind): Add SHIFT_UXTW shift kind. - (enum parse_shift_mode): Add SHIFT_UXTW_IMMEDIATE shift mode. - (parse_shift): Handle new shift type. - (parse_address_main): Accept new addressing modes. - (M_MNEM_vstrb, M_MNEM_vstrh, M_MNEM_vstrw, M_MNEM_vstrd, - M_MNEM_vldrb, M_MNEM_vldrh, M_MNEM_vldrw, M_MNEM_vldrd): New - instruction encodings. - (do_mve_vstr_vldr_QI): New encoding functions. - (do_mve_vstr_vldr_RQ): Likewise. - (do_mve_vstr_vldr_RI): Likewise. - (do_mve_vstr_vldr): Likewise. - * testsuite/gas/arm/mve-vldr-bad-1.d: New test. - * testsuite/gas/arm/mve-vldr-bad-1.l: New test. - * testsuite/gas/arm/mve-vldr-bad-1.s: New test. - * testsuite/gas/arm/mve-vldr-bad-2.d: New test. - * testsuite/gas/arm/mve-vldr-bad-2.l: New test. - * testsuite/gas/arm/mve-vldr-bad-2.s: New test. - * testsuite/gas/arm/mve-vldr-bad-3.d: New test. - * testsuite/gas/arm/mve-vldr-bad-3.l: New test. - * testsuite/gas/arm/mve-vldr-bad-3.s: New test. - * testsuite/gas/arm/mve-vstr-bad-1.d: New test. - * testsuite/gas/arm/mve-vstr-bad-1.l: New test. - * testsuite/gas/arm/mve-vstr-bad-1.s: New test. - * testsuite/gas/arm/mve-vstr-bad-2.d: New test. - * testsuite/gas/arm/mve-vstr-bad-2.l: New test. - * testsuite/gas/arm/mve-vstr-bad-2.s: New test. - * testsuite/gas/arm/mve-vstr-bad-3.d: New test. - * testsuite/gas/arm/mve-vstr-bad-3.l: New test. - * testsuite/gas/arm/mve-vstr-bad-3.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum it_instruction_type): Add MVE_UNPREDICABLE_INSN. - (BAD_EL_TYPE): New error message. - (parse_neon_el_struct_list): Adapt to be able to accept MVE variant. - (parse_address_main): Likewise. - (group_reloc_type): Add GROUP_MVE. - (enum operand_parse_code): Add new operands. - (parse_operands): Handle new operands. - (M_MNEM_vst20, M_MNEM_vst21, M_MNEM_vst40, M_MNEM_vst41, M_MNEM_vst42, - M_MNEM_vst43, M_MNEM_vld20, M_MNEM_vld21, M_MNEM_vld40, M_MNEM_vld41, - M_MNEM_vld42, M_MNEM_vld43): New encodings. - (do_mve_vst_vld): New encoding function. - (do_neon_ld_st_interleave): Use BAD_EL_TYPE. - (it_fsm_pre_encode): Handle new it_instruction_type - (handle_pred_state): Likewise. - * testsuite/gas/arm/mve-vstld-bad.d: New test. - * testsuite/gas/arm/mve-vstld-bad.l: New test. - * testsuite/gas/arm/mve-vstld-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (BAD_MVE_AUTO): New error message. - (BAD_MVE_SRCDEST): Likewise. - (mark_feature_used): Diagnose MVE only instructions when in - auto-detection mode or -march=all. - (enum operand_parse_code): Define new operand. - (parse_operands): Handle new operand. - (M_MNEM_vmullt, M_MNEM_vmullb): New encodings. - (mve_encode_qqq): New encoding helper function. - (do_mve_vmull): New encoding function. - (insns): Handle new instructions. - * testsuite/gas/arm/mve-vmullbt-bad.d: New test. - * testsuite/gas/arm/mve-vmullbt-bad.l: New test. - * testsuite/gas/arm/mve-vmullbt-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (struct asm_opcode): Make avalue a full int. - (BAD_ODD, BAD_EVEN, BAD_SIMD_TYPE): New errors. - (enum operand_parse_code): Handle new operands. - (parse_operands): Likewise. - (M_MNEM_vabav, M_MNEM_vmladav, M_MNEM_vmladava, M_MNEM_vmladavx, - M_MNEM_vmladavax, M_MNEM_vmlsdav, M_MNEM_vmlsdava, M_MNEM_vmlsdavx, - M_MNEM_vmlsdavax): Define new encodings. - (NEON_SHAPE_DEF): Add new shape. - (neon_check_type): Use BAD_SIMD_TYPE. - (mve_encode_rqq): New encoding helper function. - (do_mve_vabav, do_mve_vmladav): New encoding functions. - (mCEF): New MACRO. - * testsuite/gas/arm/mve-vabav-bad.d: New test. - * testsuite/gas/arm/mve-vabav-bad.l: New test. - * testsuite/gas/arm/mve-vabav-bad.s: New test. - * testsuite/gas/arm/mve-vmladav-bad.d: New test. - * testsuite/gas/arm/mve-vmladav-bad.l: New test. - * testsuite/gas/arm/mve-vmladav-bad.s: New test. - * testsuite/gas/arm/mve-vmlav-bad.d: New test. - * testsuite/gas/arm/mve-vmlav-bad.l: New test. - * testsuite/gas/arm/mve-vmlav-bad.s: New test. - * testsuite/gas/arm/mve-vmlsdav-bad.d: New test. - * testsuite/gas/arm/mve-vmlsdav-bad.l: New test. - * testsuite/gas/arm/mve-vmlsdav-bad.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (do_neon_abs_neg): Make it accept MVE variant. - (insns): Change vabs and vneg entries to accept MVE variants. - * testsuite/gas/arm/mve-vabsneg-bad-1.d: New test. - * testsuite/gas/arm/mve-vabsneg-bad-1.l: New test. - * testsuite/gas/arm/mve-vabsneg-bad-1.s: New test. - * testsuite/gas/arm/mve-vabsneg-bad-2.d: New test. - * testsuite/gas/arm/mve-vabsneg-bad-2.l: New test. - * testsuite/gas/arm/mve-vabsneg-bad-2.s: New test. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (enum it_instruction_type): Rename to... - (enum pred_instruction_type): ... this. Include VPT types. - (it_insn_type): Rename to ... - (pred_insn_type): .. this. - (arm_it): Change comment. - (enum arm_reg_type): Add new value. - (reg_expected_msgs): New entry. - (asm_opcode): Add mayBeVecPred member. - (BAD_SYNTAX, BAD_NOT_VPT, BAD_OUT_VPT, BAD_VPT_COND, MVE_NOT_IT, - MVE_NOT_VPT, MVE_BAD_PC, MVE_BAD_SP): New diagnostic MACROS. - (arm_vcond_hsh): New table for vector condition codes. - (now_it): Rename to ... - (now_pred): ... this. - (now_it_compatible): Rename to ... - (now_pred_compatible): ... this. - (in_it_block): Rename to ... - (in_pred_block): ... this. - (handle_it_state): Rename to ... - (handle_pred_state): ... this. And change it to accept VPT blocks. - (set_it_insn_type): Rename to ... - (set_pred_insn_type): ... this. - (set_it_insn_type_nonvoid): Rename to ... - (set_pred_insn_type_nonvoid): ... this. - (set_it_insn_type_last): Rename to ... - (set_pred_insn_type_last): ... this. - (record_feature_use): Moved. - (mark_feature_used): Likewise. - (parse_typed_reg_or_scalar): Add new case for REG_TYPE_MQ. - (emit_insn): Use renamed functions and variables. - (enum operand_parse_code): Add new operands. - (parse_operands): Handle new operands. - (do_scalar_fp16_v82_encode): Change predication detection. - (do_it): Use renamed functions and variables. - (do_t_add_sub): Likewise. - (do_t_arit3): Likewise. - (do_t_arit3c): Likewise. - (do_t_blx): Likewise. - (do_t_branch): Likewise. - (do_t_bkpt_hlt1): Likewise. - (do_t_branch23): Likewise. - (do_t_bx): Likewise. - (do_t_bxj): Likewise. - (do_t_cond): Likewise. - (do_t_csdb): Likewise. - (do_t_cps): Likewise. - (do_t_cpsi): Likewise. - (do_t_cbz): Likewise. - (do_t_it): Likewise. - (do_mve_vpt): New function to handle VPT blocks. - (encode_thumb2_multi): Use renamed functions and variables. - (do_t_ldst): Use renamed functions and variables. - (do_t_mov_cmp): Likewise. - (do_t_mvn_tst): Likewise. - (do_t_mul): Likewise. - (do_t_nop): Likewise. - (do_t_neg): Likewise. - (do_t_rsb): Likewise. - (do_t_setend): Likewise. - (do_t_shift): Likewise. - (do_t_smc): Likewise. - (do_t_tb): Likewise. - (do_t_udf): Likewise. - (do_t_loloop): Likewise. - (do_neon_cvt_1): Likewise. - (do_vfp_nsyn_cvt_fpv8): Likewise. - (do_vsel): Likewise. - (do_vmaxnm): Likewise. - (do_vrint_1): Likewise. - (do_crypto_2op_1): Likewise. - (do_crypto_3op_1): Likewise. - (do_crc32_1): Likewise. - (it_fsm_pre_encode): Likewise. - (it_fsm_post_encode): Likewise. - (force_automatic_it_block_close): Likewise. - (check_it_blocks_finished): Likewise. - (check_pred_blocks_finished): Likewise. - (arm_cleanup): Likewise. - (now_it_add_mask): Rename to ... - (now_pred_add_mask): ... this. And use new variables and functions. - (NEON_ENC_TAB): Add entries for vabdl, vaddl and vsubl. - (N_I_MVE, N_F_MVE, N_SU_MVE): New MACROs. - (neon_check_type): Generalize error message. - (mve_encode_qqr): New MVE generic encoding function. - (neon_dyadic_misc): Change to accept MVE variants. - (do_neon_dyadic_if_su): Likewise. - (do_neon_addsub_if_i): Likewise. - (do_neon_dyadic_long): Likewise. - (vfp_or_neon_is_neon): Add extra checks. - (check_simd_pred_availability): Helper function to check SIMD - instruction availability with respect to predication. - (enum opcode_tag): New suffix value. - (opcode_lookup): Change to handle VPT blocks. - (new_automatic_it_block): Rename to ... - (close_automatic_it_block): ...this. - (TxCE, TxC3, TxC3w, TUE, TUEc, TUF, CE, C3, ToC, ToU, - toC, toU, CL, cCE, cCL, C3E, xCM_, UE, UF, NUF, nUF, - NCE_tag, NCE, NCEF, nCE_tag, nCE, nCEF): Add default value for new - field. - (mCEF, mnCEF, mnCE, MNUF, mnUF, mToC, MNCE, MNCEF): New MACROs. - (insns): Redefine vadd, vsub, cabd, vabdl, vaddl, vsubl to accept MVE - variants. Add entries for vscclrm, and vpst. - (md_begin): Add arm_vcond_hsh initialization. - * config/tc-arm.h (enum it_state): Rename to... - (enum pred_state): ...this. - (struct current_it): Rename to... - (struct current_pred): ...this. - (enum pred_type): New enum. - (struct arm_segment_info_type): Use current_pred. - * testsuite/gas/arm/armv8_3-a-fp-bad.l: Update error message. - * testsuite/gas/arm/armv8_3-a-simd-bad.l: Update error message. - * testsuite/gas/arm/dotprod-illegal.l: Update error message. - * testsuite/gas/arm/mve-vaddsubabd-bad-1.d: New test. - * testsuite/gas/arm/mve-vaddsubabd-bad-1.l: New test. - * testsuite/gas/arm/mve-vaddsubabd-bad-1.s: New test. - * testsuite/gas/arm/mve-vaddsubabd-bad-2.d: New test. - * testsuite/gas/arm/mve-vaddsubabd-bad-2.l: New test. - * testsuite/gas/arm/mve-vaddsubabd-bad-2.s: New test. - * testsuite/gas/arm/mve-vpst-bad.d: New test. - * testsuite/gas/arm/mve-vpst-bad.l: New test. - * testsuite/gas/arm/mve-vpst-bad.s: New test. - * testsuite/gas/arm/neon-ldst-es-bad.l: Updated error message. - -2019-05-16 Andre Vieira - - * config/tc-arm.c (mve_ext, mve_fp_ext): New features. - (armv8_1m_main_ext_table): Add new extensions. - (aeabi_set_public_attributes): Translate new features to new build attributes. - (arm_convert_symbolic_attribute): Add Tag_MVE_arch. - * doc/c-arm.texi: Document new extensions and new build attribute. - -2019-05-15 John Darrington - - * config/tc-s12z.c (register_prefix): New variable. (md_show_usage, - md_parse_option): parse the new option. - (lex_reg_name): Scan the prefix if one is set. - * doc/c-s12z.texi (S12Z-Opts): Document the new option. - * testsuite/gas/s12z/reg-prefix.d: New file. - * testsuite/gas/s12z/reg-prefix.s: New file. - * testsuite/gas/s12z/s12z.exp: Add them. - -2019-05-14 John Darrington - - * doc/as.texi (Machine Dependencies): Fix misaligned menu entry. - -2019-05-15 Alan Modra - - * config/tc-csky.c (md_convert_frag): Initialise trailing - padding for COND_JUMP_PIC. - -2019-05-15 Alan Modra - - * dwarf2dbg.c: Whitespace fixes. - (get_filenum): Don't strdup "file". Adjust error message. - (dwarf2_directive_filename): Use an unsigned type for "num". - Catch truncation of file number and overflow of get_filenum - XRESIZEVEC multiplication. Delete dead code. - -2019-05-15 Alan Modra - - PR 24538 - * config/tc-tic54x.c (tic54x_start_line_hook): Do skip end of line - chars in setting endp. - -2019-05-14 Nick Clifton - - PR 24538 - * config/tc-i386-intel.c (i386_intel_simplify_register): Reject - illegal register numbers. - -2019-05-10 Nick Clifton - - PR 24538 - * macro.c (get_any_string): Increase size of buffer used to hold - decimal value of expression result. - * dw2gencfi.c (get_debugseg_name): Handle an empty name. - * dwarf2dbg.c (get_filenum): Catch integer wraparound when - extending allocate file array. - (dwarf2_directive_filename): Add extra checks of the computed file - number. - * config/tc-arm.c (arm_tc_equal_in_insn): Insert copy of name into - warning hash table. - (s_arm_eabi_attribute): Check for obj_elf_vendor_attribute - returning -1. - * config/tc-i386.c (i386_output_nops): Catch an attempt to - generate nops of negative lengths. - * as.h (MAX_LITTLENUMS): Move definition to here from... - * config/atof-ieee.c: ...here. - * config/tc-aarch64.c: ...here. - * config/tc-arc.c: ...here. - * config/tc-arm.c: ...here. - * config/tc-epiphany.c: ...here. - * config/tc-i386.c: ...here. - * config/tc-ia64.c: ...here. (And correct the value). - * config/tc-m32c.c: ...here. - * config/tc-m32r.c: ...here. - * config/tc-metag.c: ...here. - * config/tc-microblaze.c: ...here. - * config/tc-nds32.c: ...here. - * config/tc-or1k.c: ...here. - * config/tc-score.c: ...here. - * config/tc-score7.c: ...here. - * config/tc-tic4x.c: ...here. - * config/tc-tilegx.c: ...here. - * config/tc-tilepro.c: ...here. - * config/tc-visium.c: ...here. - * config/tc-sh.c (md_assemble): Add check for an instruction with - no opcodes. - * config/tc-mips.c (mips_lookup_insn): Add check for very short - instruction name. - * config/tc-tic54x.c: Use unsigned chars to access is_end_of_line - array. - (tic54x_start_line_hook): Check for an empty line. - (next_line_shows_parallel): Do not walk off the end of the string. - (tic54x_macro_start): Check for too much macro nesting. - (tic54x_start_label): Add label_start parameter. Use this - parameter to check the first character of the label. - - * config/tc-tic54x.h (TC_START_LABEL_WITHOUT_COLON): Pass - line_start variable to tic54x_start_label. - -2019-05-10 Faraz Shahbazker - - * config/tc-mips.c (macro) : - Add expansions for MIPS r6. - * testsuite/gas/mips/add.s: Enable tests for R6. - * testsuite/gas/mips/daddi.s: Annotate to test DADD for R6. - * testsuite/gas/mips/mipsr6@add.d: Likewise. - * gas/testsuite/gas/mips/mipsr6@dadd.d: New test. - * gas/testsuite/gas/mips/mips.exp: Run the new test. - -2019-05-09 Matthew Malcomson - - * testsuite/gas/aarch64/sve2.d: Remove file format restriction. - -2019-05-09 Matthew Malcomson - - * testsuite/gas/aarch64/illegal-sve2-aes.d: New test. - * testsuite/gas/aarch64/illegal-sve2-bitperm.d: New test. - * testsuite/gas/aarch64/illegal-sve2-sha3.d: Test new instructions. - * testsuite/gas/aarch64/illegal-sve2-sm4.d: Test new instructions. - * testsuite/gas/aarch64/illegal-sve2-sve1ext.d: Test new instructions. - * testsuite/gas/aarch64/illegal-sve2-sve1ext.l: Test new instructions. - * testsuite/gas/aarch64/illegal-sve2.d: Test new instructions. - * testsuite/gas/aarch64/illegal-sve2.l: Test new instructions. - * testsuite/gas/aarch64/illegal-sve2.s: Test new instructions. - * testsuite/gas/aarch64/sve1-extended-sve2.s: New test. - * testsuite/gas/aarch64/sve2.d: Test new instructions. - * testsuite/gas/aarch64/sve2.s: Test new instructions. - -2019-05-09 Matthew Malcomson - - * config/tc-aarch64.c (parse_operands): Handle new SVE_SHLIMM_UNPRED_22 - operand. - -2019-05-09 Matthew Malcomson - - * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm4_11_INDEX - operand. - -2019-05-09 Matthew Malcomson - - * config/tc-aarch64.c (parse_operands): Handle new SVE_SHRIMM_UNPRED_22 - operand. - -2019-05-09 Matthew Malcomson - - * config/tc-aarch64.c (REG_ZR): Macro specifying zero register. - (parse_address_main): Account for new addressing mode [Zn.S, Xm]. - (parse_operands): Handle new SVE_ADDR_ZX operand. - -2019-05-09 Matthew Malcomson - - * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm3_11_INDEX - operand. - -2019-05-09 Matthew Malcomson - - * config/tc-aarch64.c (parse_operands): Handle new SVE_IMM_ROT3 operand. - -2019-05-09 Matthew Malcomson - - * config/tc-aarch64.c: Add command line architecture feature flags - "sve2", "sve2-sm4", "sve2-aes", "sve2-sha3", "bitperm". - * doc/c-aarch64.texi: Document new architecture feature flags. - -2019-05-08 Alan Modra - - * testsuite/gas/elf/dwarf2-1.s, - * testsuite/gas/elf/dwarf2-2.s, - * testsuite/gas/elf/dwarf2-5.s, - * testsuite/gas/elf/dwarf2-7.s, - * testsuite/gas/elf/dwarf2-8.s, - * testsuite/gas/elf/dwarf2-9.s, - * testsuite/gas/elf/dwarf2-10.s, - * testsuite/gas/elf/dwarf2-11.s, - * testsuite/gas/elf/dwarf2-12.s, - * testsuite/gas/elf/dwarf2-13.s, - * testsuite/gas/elf/dwarf2-14.s, - * testsuite/gas/elf/dwarf2-15.s, - * testsuite/gas/elf/dwarf2-16.s, - * testsuite/gas/elf/dwarf2-17.s, - * testsuite/gas/elf/dwarf2-18.s, - * testsuite/gas/elf/dwarf2-19.s: Double size of align and simulated - instructions. - * testsuite/gas/elf/dwarf2-1.d, - * testsuite/gas/elf/dwarf2-2.d, - * testsuite/gas/elf/dwarf2-5.d, - * testsuite/gas/elf/dwarf2-7.d, - * testsuite/gas/elf/dwarf2-8.d, - * testsuite/gas/elf/dwarf2-9.d, - * testsuite/gas/elf/dwarf2-10.d, - * testsuite/gas/elf/dwarf2-11.d, - * testsuite/gas/elf/dwarf2-12.d, - * testsuite/gas/elf/dwarf2-13.d, - * testsuite/gas/elf/dwarf2-14.d, - * testsuite/gas/elf/dwarf2-15.d, - * testsuite/gas/elf/dwarf2-16.d, - * testsuite/gas/elf/dwarf2-17.d, - * testsuite/gas/elf/dwarf2-18.d, - * testsuite/gas/elf/dwarf2-19.d: Use xfail rather than notarget. - Remove avr, pru, tile, xtensa from xfails. Update expected output. - * testsuite/gas/elf/elf.exp: Sort targets. - (dump_opts): Pass {as -mno-relax} for riscv, {as -mno-link-relax} - for avr and pru, and {as --no-link-relax} for xtensa to dwarf tests. - * testsuite/gas/elf/section2.e-miwmmxt: Delete unused file. - -2019-05-08 Alan Modra - - * config/tc-xtensa.c (opt_linkrelax): New variable. - (md_parse_option): Set it here. - (md_begin): Copy opt_linkrelax to linkrelax. - -2019-05-07 Alexandre Oliva - - * testsuite/gas/elf/dwarf2-18.d: Xfail mep-*. - * testsuite/gas/elf/dwarf2-19.d: Likewise. - -2019-05-07 Alan Modra - - * symbols.c (use_complex_relocs_for): Formatting. Factor out - X_add_symbol tests. - -2019-05-06 Andrew Bennett - Faraz Shahbazker - - * config/tc-mips.c (mips_set_ase): Handle ASE_EVA_R6. - (macro) : New cases. - (mips_after_parse_args): Translate EVA to EVA_R6. - * testsuite/gas/mips/ase-errors-1.s: Add new instructions. - * testsuite/gas/mips/eva.s: Likewise. - * testsuite/gas/mips/ase-errors-1.l: Check errors for - new instructions. - * testsuite/gas/mips/mipsr6@eva.d: Check new test cases. - -2019-05-06 Alan Modra - - * symbols.c (symbol_relc_make_sym): Do not access sym->sy_value - directly. - -2019-05-06 Alan Modra - - * config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT - relocs, and VLE sdarel relocs. - * testsuite/gas/ppc/power4.d: Adjust. - -2019-05-05 Alexandre Oliva - - * dwarf2dbg.c (set_or_check_view): Skip heads when assigning - views of prior locs. - (dwarf2_gen_line_info_1): Skip heads. - (size_inc_line_addr, emit_inc_line_addr): Drop - DW_LNS_advance_pc for zero addr delta. - (dwarf2_finish): Assign views for heads of segments. - * testsuite/gas/elf/dwarf2-19.d: New. - * testsuite/gas/elf/dwarf2-19.s: New. - * testsuite/gas/elf/elf.exp: Test it. - -2019-05-04 Alan Modra - - * config/tc-m32c.c (insn_size): Delete static var. - (md_begin): Don't set it. - (m32c_md_end): Delete. - (md_assemble): Add insn_size auto var. - * config/tc-m32c.h (md_end): Don't define. - (m32c_md_end): Delete. - (NOP_OPCODE, HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): Define. - * testsuite/gas/all/align.d: Remove m32c from notarget list. - * testsuite/gas/all/incbin.d: Likewise. - * testsuite/gas/elf/dwarf2-11.d: Likewise. - * testsuite/gas/macros/semi.d: Likewise. - * testsuite/gas/all/gas.exp (do_comment): Similarly. - -2019-05-02 H.J. Lu - - PR gas/24485 - * config/tc-i386.c (process_suffix): Issue a warning to IRET - without a suffix for .code16gcc. - * testsuite/gas/i386/jump16.s: Add tests for iretX. - * testsuite/gas/i386/jump16.d: Updated. - * testsuite/gas/i386/jump16.e: New file. - -2019-05-01 Sudakshina Das - - * config/tc-aarch64.c (parse_operands): Add case for - AARCH64_OPND_TME_UIMM16. - (aarch64_features): Add "tme". - * doc/c-aarch64.texi: Document the same. - * testsuite/gas/aarch64/tme-invalid.d: New test. - * testsuite/gas/aarch64/tme-invalid.l: New test. - * testsuite/gas/aarch64/tme-invalid.s: New test. - * testsuite/gas/aarch64/tme.d: New test. - * testsuite/gas/aarch64/tme.s: New test. - -2019-04-29 John Darrington - - * testsuite/gas/s12z/truncated.d: New file. - * testsuite/gas/s12z/truncated.s: New file. - * testsuite/gas/s12z/s12z.exp: Add new test. - -2019-04-26 Andrew Bennett - Faraz Shahbazker - - * config/tc-mips.c (macro) : New cases and expansions for paired instructions. - * testsuite/gas/mips/llpscp-32.s: New test source. - * testsuite/gas/mips/llpscp-64.s: Likewise. - * testsuite/gas/mips/llpscp-32.d: New test. - * testsuite/gas/mips/llpscp-64.d: Likewise. - * testsuite/gas/mips/mips.exp: Run the new tests. - * testsuite/gas/mips/r6.s: Add new instructions to test source. - * testsuite/gas/mips/r6-64.s: Likewise. - * testsuite/gas/mips/r6-64-n32.d: Check new instructions. - * testsuite/gas/mips/r6-64-n64.d: Likewise. - * testsuite/gas/mips/r6-n32.d: Likewise. - * testsuite/gas/mips/r6-n64.d: Likwwise. - * testsuite/gas/mips/r6.d: Likewise. - -2019-04-26 H.J. Lu - - PR gas/24485 - * config/tc-i386.c (process_suffix): Don't add DATA_PREFIX_OPCODE - to IRET for .code16gcc. - * testsuite/gas/i386/jump16.s: Add IRET tests. - * testsuite/gas/i386/jump16.d: Updated. - -2019-04-25 Alexandre Oliva - Alan Modra - - PR gas/24444 - * frags.c (frag_gtoffset_p): New. - * frags.h (frag_gtoffset_p): Declare it. - * expr.c (resolve_expression): Use it. - -2019-04-24 Alan Modra - - PR 24444 - * symbols.c (resolve_symbol_value): When handling symbols - marked as sy_flags.resolved, return correct value for the - case of expression symbols left as an O_symbol expression. - Merge O_symbol code handling undefined and common symbols with - code handling special cases of expression symbols. Use - seg_left to test for undefined and common symbols. Don't - leave an O_symbol expression when X_add_symbol resolves to - the absolute_section. Init final_val later. - * testsuite/gas/mmix/basep-7.d: Adjust expected output. - -2019-04-24 John Darrington - - * testsuite/gas/s12z/bit-manip-invalid.s: Extend test for BSET - and BCLR instructions with an invalid mode. - * testsuite/gas/s12z/bit-manip-invalid.d: ditto. - -2019-04-19 Nick Clifton - - PR 24464 - * config/tc-rx.h (md_relax_frag): Pass the max_iterations variable - to the relaxation function. - * config/tc-rx.c (rx_relax_frag): Add new parameter - the maximum - number of iterations. Make sure that our internal iteration limit - does not exceed this external iteration limit. - -2019-04-18 Matthew Fortune - - * config/tc-mips.c (match_non_zero_reg_operand): Update - warning message. - * testsuite/gas/mips/r6-branch-constraints.l: Likewise. - -2019-04-18 Jozef Lawrynowicz - - * config/tc-msp430.c (msp430_make_init_symbols): Define - __crt0_run_{preinit,init,fini}_array symbols if - .{preinit,init,fini}_array sections exist. - * testsuite/gas/msp430/fini-array.d: New test. - * testsuite/gas/msp430/init-array.d: New test. - * testsuite/gas/msp430/preinit-array.d: New test. - * testsuite/gas/msp430/fini-array.s: New test source. - * testsuite/gas/msp430/init-array.s: New test source. - * testsuite/gas/msp430/preinit-array.s: New test source. - * testsuite/gas/msp430/msp430.exp: Add new tests to driver. - -2019-04-17 Jozef Lawrynowicz - - * config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss - symbol when .lower.bss or .either.bss sections exist. - Define __crt0_movedata when .lower.data or .either.data sections exist. - * testsuite/gas/msp430/either-data-bss-sym.d: New test. - * testsuite/gas/msp430/low-data-bss-sym.d: New test. - * testsuite/gas/msp430/either-data-bss-sym.s: New test source. - * testsuite/gas/msp430/low-data-bss-sym.s: New test source. - * testsuite/gas/msp430/msp430.exp: Run new tests. - Enable large code model when running -mdata-region={upper,either} - tests. - -2019-04-17 Jozef Lawrynowicz - - * config/tc-msp430.c (options): New OPTION_UNKNOWN_INTR_NOPS, - OPTION_NO_UNKNOWN_INTR_NOPS and do_unknown_interrupt_nops. - (md_parse_option): Handle OPTION_UNKNOWN_INTR_NOPS and - OPTION_NO_UNKNOWN_INTR_NOPS by setting do_unknown_interrupt_nops - accordingly. - (md_show_usage): Likewise. - (md_shortopts): Add "mu" for OPTION_UNKNOWN_INTR_NOPS and - "mU" for OPTION_NO_UNKNOWN_INTR_NOPS. - (md_longopts): Likewise. - (warn_eint_nop): Update comment. - (warn_unsure_interrupt): Don't warn if prev_insn_is_nop or - prev_insn_is_dint or we are assembling for 430 ISA. - (msp430_operands): Only call warn_unsure_interrupt if - do_unknown_interrupt_nops == TRUE. - * testsuite/gas/msp430/nop-unknown-intr.s: New test source file. - * testsuite/gas/msp430/nop-unknown-intr-430.d: New test. - * testsuite/gas/msp430/nop-unknown-intr-430x.d: New test. - * testsuite/gas/msp430/nop-unknown-intr-430x-ignore.d: New test. - * testsuite/gas/msp430/nop-unknown-intr-430.l: Warning output for new - test. - * testsuite/gas/msp430/nop-unknown-intr-430x.l: Likewise. - * testsuite/gas/msp430/msp430.exp: Add new tests to driver. - -2019-04-16 Alan Modra - - * testsuite/gas/all/weakref1.d: xfail nds32. - -2019-04-16 Alan Modra - - * testsuite/gas/all/gas.exp: Remove ns32k xfails. - * testsuite/gas/all/weakref1u.d: Don't run for ns32k-*-*. - -2019-04-16 Alan Modra - - * write.h: Don't include bit_fix.h. - (struct fix): Rearrange some fields. Delete fx_im_disp and - fx_bit_fixP. Use bitfields for fx_size and fx_pcrel_adjust. - * write.c (fix_new_internal): Don't init fx_im_disp and fx_bit_fixP. - (fixup_segment): Don't exclude overflow checks on fx_bit_fixP. - (print_fixup): Don't print im_disp. - * config/tc-cris.c (md_apply_fix): Remove tests of fx_bit_fixP - and fx_im_disp. - * config/tc-dlx.c (md_apply_fix): Remove wrong debug code. Set - fx_no_overflow when fx_bit_fixP. - * config/tc-dlx.h: Include bit_fix.h. - (TC_FIX_TYPE, tc_fix_data, TC_INIT_FIX_DATA): Define. - * config/tc-ns32k.c (fix_new_ns32k, fix_new_ns32k_exp): Set - fx_no_overflow when bit_fixP. - * config/tc-ns32k.h (TC_FIX_TYPE): Add fx_bit_fixP and fx_im_disp. - (fix_im_disp, fix_bit_fixP): Adjust to suit. - (TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise. - -2019-04-16 Alan Modra - - * write.h (struct fix ): Make unsigned. - (fix_new, fix_at_start, fix_new_exp): Adjust prototypes. - * write.c (fix_new, fix_new_exp, fix_at_start): Make "where" and - "size" parameters unsigned long. - (fix_new_internal): Likewise. Adjust error format string to suit. - * config/tc-mips.c (md_convert_frag): Remove cast of fx_where. - * config/tc-sparc.c (md_apply_fix): Likewise. - * config/tc-score.c (s3_convert_frag): Adjust for unsigned fx_where. - * config/tc-score7.c (s7_convert_frag): Likewise. - -2019-04-16 Alan Modra - - * frags.h (struct frag ): Use unsigned type. - * frags.c (frag_new): Assert that current size exceeds - old_frags_var_max_size. - * ehopt.c (get_cie_info): Adjust for unsigned fr_fix. - * listing.c (calc_hex): Likewise. - * write.c (cvt_frag_to_fill, write_relocs): Likewise. - * config/tc-arc.c (md_convert_frag): Likewise. - * config/tc-avr.c (avr_patch_gccisr_frag): Likewise. - * config/tc-mips.c (md_convert_frag): Likewise. - * config/tc-rl78.c (md_convert_frag): Likewise. - * config/tc-rx.c (md_convert_frag): Likewise. - * config/tc-sparc.c (md_apply_fix): Likewise. - * config/tc-xtensa.c (next_instrs_are_b_retw): Likewise. - (unrelaxed_frag_min_insn_count, unrelaxed_frag_has_b_j): Likewise. - -2019-04-15 Thomas Preud'homme - - * config/tc-arm.c (parse_sys_vldr_vstr): New function. - (OP_VLDR): New enum operand_parse_code enumerator. - (parse_operands): Add logic for OP_VLDR. - (do_t_vldr_vstr_sysreg): New function. - (do_vldr_vstr): Likewise. - (insns): Guard VLDR and VSTR by arm_ext_v4t for Thumb mode. - (md_apply_fix): Add bound check for VLDR and VSTR co-processor offset. - Add masking logic for BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM relocation. - * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add examples of bad - uses of VLDR and VSTR. - * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error messages for - above bad uses. - * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add examples of VLDR and - VSTR valid uses. - * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add disassembly for the - above examples. - -2019-04-15 Thomas Preud'homme - - * config/tc-arm.c (arm_typed_reg_parse): Fix typo in comment. - (enum reg_list_els): New REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR - enumerators. - (parse_vfp_reg_list): Add new partial_match parameter. Set - *partial_match to TRUE if at least one element in the register list has - matched. Add support for REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR - register lists which expect VPR as last element in the list. - (s_arm_unwind_save_vfp_armv6): Adapt call to parse_vfp_reg_list to new - prototype. - (s_arm_unwind_save_vfp): Likewise. - (enum operand_parse_code): New OP_VRSDVLST enumerator. - (parse_operands): Adapt call to parse_vfp_reg_list to new prototype. - Handle new OP_VRSDVLST case. - (do_t_vscclrm): New function. - (insns): New entry for VSCCLRM instruction. - * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add invalid VSCCLRM - instructions. - * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error expectations - for above instructions. - * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add tests for VSCCLRM - instruction. - * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add expected disassembly - for above instructions. - -2019-04-15 Thomas Preud'homme - - * config/tc-arm.c (enum reg_list_els): Define earlier and add - REGLIST_RN and REGLIST_CLRM enumerators. - (parse_reg_list): Add etype parameter to distinguish between regular - core register list and CLRM register list. Add logic to - recognize CLRM register list. - (parse_vfp_reg_list): Assert type is not for core register list. - (s_arm_unwind_save_core): Update call to parse_reg_list to new - prototype. - (enum operand_parse_code): Declare OP_CLRMLST enumerator. - (parse_operands): Update call to parse_reg_list to new prototype. Add - logic for OP_CLRMLST. - (encode_thumb2_ldmstm): Rename into ... - (encode_thumb2_multi): This. Add do_io parameter. Add logic to - encode CLRM and guard LDM/STM only code by do_io. - (do_t_ldmstm): Adapt to use encode_thumb2_multi. - (do_t_push_pop): Likewise. - (do_t_clrm): New function. - (insns): Define CLRM. - * testsuite/gas/arm/archv8m_1m-cmse-main-bad.d: New file. - * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Likewise. - * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Likewise. - * testsuite/gas/arm/archv8m_1m-cmse-main.d: Likewise. - * testsuite/gas/arm/archv8m_1m-cmse-main.s: Likewise. - -2019-04-15 Sudakshina Das - Andre Vieira - - * config/tc-arm.c (operand_parse_code): Add OP_LR and OP_oLR - for the LR operand and optional LR operand. - (parse_operands): Add switch cases for OP_LR and OP_oLR for - both type checking and value checking. - (encode_thumb32_addr_mode): New entries for DLS, WLS and LE. - (v8_1_loop_reloc): New helper function for handling labels - for the low overhead loop instructions. - (do_t_loloop): New function to encode DLS, WLS and LE. - (insns): New entries for WLS, DLS and LE. - (md_pcrel_from_section): New switch case - for BFD_RELOC_ARM_THUMB_LOOP12. - (md_appdy_fix): Likewise. - (tc_gen_reloc): Likewise. - * testsuite/gas/arm/armv8_1-m-tloop.s: New. - * testsuite/gas/arm/armv8_1-m-tloop.d: New. - * testsuite/gas/arm/armv8_1-m-tloop-bad.s: New. - * testsuite/gas/arm/armv8_1-m-tloop-bad.d: New. - * testsuite/gas/arm/armv8_1-m-tloop-bad.l: New. - -2019-04-15 Sudakshina Das - Andre Vieira - - * config/tc-arm.c (T16_32_TAB): New entriy for bfcsel. - (do_t_v8_1_branch): New switch case for bfcsel. - (toU): Define. - (insns): New instruction for bfcsel. - (md_pcrel_from_section): New switch case - for BFD_RELOC_THUMB_PCREL_BFCSEL. - (md_appdy_fix): Likewise - (tc_gen_reloc): Likewise. - * testsuite/gas/arm/armv8_1-m-bfcsel.d: New. - * testsuite/gas/arm/armv8_1-m-bfcsel.s: New. - -2019-04-15 Sudakshina Das - - * config/tc-arm.c (md_pcrel_from_section): New switch case for - BFD_RELOC_ARM_THUMB_BF13. - (md_appdy_fix): Likewise. - (tc_gen_reloc): Likewise. - -2019-04-15 Sudakshina Das - Andre Vieira - - * config/tc-arm.c (T16_32_TAB): New entrie for bfl. - (do_t_v8_1_branch): New switch case for bfl. - (insns): New instruction for bfl. - * testsuite/gas/arm/armv8_1-m-bfl.d: New. - * testsuite/gas/arm/armv8_1-m-bfl.s: New. - * testsuite/gas/arm/armv8_1-m-bfl-bad.s: New. - * testsuite/gas/arm/armv8_1-m-bfl-bad.d: New. - * testsuite/gas/arm/armv8_1-m-bfl-bad.l: New. - * testsuite/gas/arm/armv8_1-m-bfl-rel.d: New. - * testsuite/gas/arm/armv8_1-m-bfl-rel.s: New. - -2019-04-15 Sudakshina Das - - * config/tc-arm.c (md_pcrel_from_section): New switch case for - BFD_RELOC_ARM_THUMB_BF19. - (md_appdy_fix): Likewise. - (tc_gen_reloc): Likewise. - -2019-04-15 Sudakshina Das - - * config/tc-arm.c (T16_32_TAB): New entries for bfx and bflx. - (do_t_v8_1_branch): New switch cases for bfx and bflx. - (insns): New instruction for bfx and bflx. - * testsuite/gas/arm/armv8_1-m-bf-exchange.d: New. - * testsuite/gas/arm/armv8_1-m-bf-exchange.s: New. - * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s: New - * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l: New - * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New - -2019-04-15 Sudakshina Das - Andre Vieira - - * config/tc-arm.c (T16_32_TAB): New entries for bf. - (do_t_branch_future): New. - (insns): New instruction for bf. - * testsuite/gas/arm/armv8_1-m-bf.d: New. - * testsuite/gas/arm/armv8_1-m-bf.s: New. - * testsuite/gas/arm/armv8_1-m-bf-bad.s: New. - * testsuite/gas/arm/armv8_1-m-bf-bad.l: New. - * testsuite/gas/arm/armv8_1-m-bf-bad.d: New. - * testsuite/gas/arm/armv8_1-m-bf-rel.d: New. - * testsuite/gas/arm/armv8_1-m-bf-rel.s: New. - -2019-04-15 Sudakshina Das - - * config/tc-arm.c (md_pcrel_from_section): New switch case for - BFD_RELOC_ARM_THUMB_BF17. - (md_appdy_fix): Likewise. - (tc_gen_reloc): Likewise. - -2019-04-15 Sudakshina Das - - * config/tc-arm.c (ARM_IT_MAX_RELOCS): New macro. - (arm_it): Member reloc renamed relocs and updated to an array. - Rest: Replace all occurrences of reloc to relocs[0]. - -2019-04-15 Sudakshina Das - - * config/tc-arm.c (md_pcrel_from_section): New switch case - for BFD_RELOC_THUMB_PCREL_BRANCH5. - (v8_1_branch_value_check): New function to check branch - offsets. - (md_appdy_fix): New switch case for - BFD_RELOC_THUMB_PCREL_BRANCH5. - (tc_gen_reloc): Likewise. - -2019-04-15 Andre Vieira - - * config/tc-arm.c (do_neon_movhf): Remove fp-armv8 check. - (armv8_1m_main_ext_table): New extension table. - (arm_archs): Use the new extension table. - * doc/c-arm.texi: Add missing arch and document new extensions. - * testsuite/gas/arm/armv8.1-m.main-fp.d: New. - * testsuite/gas/arm/armv8.1-m.main-fp-dp.d: New. - * testsuite/gas/arm/armv8.1-m.main-hp.d: New. - -2019-04-15 Thomas Preud'homme - - * config/tc-arm.c (cpu_arch_ver): Add entry for Armv8.1-M Mainline - Tag_CPU_arch build attribute value. Reindent. - (get_aeabi_cpu_arch_from_fset): Update assert. - (aeabi_set_public_attributes): Update assert for Tag_DIV_use logic. - * testsuite/gas/arm/attr-march-armv8_1-m.main.d: New test. - -2019-04-09 Matthew Fortune - - * config/tc-mips.c (mips_cpu_info_table): Add i6500. Update - default ASEs for i6400. - * doc/c-mips.texi (-march): Document i6500. - * testsuite/gas/mips/elf_mach_i6400.d: New test. - * testsuite/gas/mips/elf_mach_i6500.d: New test. - * testsuite/gas/mips/mips.exp: Run the new tests. - -2019-04-09 Matthew Fortune - - * config/tc-mips.c (mips_set_options) : New field. - (file_mips_opts, mips_opts) : Initialize new field. - (file_mips_check_options): Propagate initial ASE settings. - (mips_after_parse_args, parse_code_option): Track the initial - ASE settings for a CPU. - (s_mipsset): Restore the initial ASE settings when reverting - to the default arch. - * testsuite/gas/mips/elf_mach_p6600.d: New test. - * testsuite/gas/mips/mips.exp: Run the new test. - -2019-04-12 John Darrington - - config/tc-s12z.h: Remove definition of macro TC_M68K - -2019-04-01 John Darrington - - config/tc-s12z.c: Use bfd_boolean where appropriate. - -2019-04-11 Max Filippov - - * testsuite/gas/xtensa/loop-relax-2.d: New test definition. - * testsuite/gas/xtensa/loop-relax.d: New test definition. - * testsuite/gas/xtensa/loop-relax.s: New test source. - * testsuite/gas/xtensa/text-section-literals-1a.d: New test - definition. - * testsuite/gas/xtensa/text-section-literals-2.d: New test - definition. - * testsuite/gas/xtensa/text-section-literals-2.s: New test - source. - * testsuite/gas/xtensa/text-section-literals-2a.d: New test - definition. - * testsuite/gas/xtensa/text-section-literals-3.d: New test - definition. - * testsuite/gas/xtensa/text-section-literals-3.s: New test - source. - * testsuite/gas/xtensa/text-section-literals-4.d: New test - definition. - * testsuite/gas/xtensa/text-section-literals-4.s: New test - source. - * testsuite/gas/xtensa/text-section-literals-4a.d: New test - definition. - -2019-04-11 Max Filippov - - * testsuite/gas/xtensa/all.exp: Remove all expect-based - tests and all explicit run_dump_test / run_list_test - invocations. Add run_dump_tests for all .d files in the - test subdirectory. - * testsuite/gas/xtensa/entry_align.d: New test definition. - * testsuite/gas/xtensa/entry_align.l: New test output. - * testsuite/gas/xtensa/entry_misalign.d: New test definition. - * testsuite/gas/xtensa/entry_misalign2.d: New test definition. - * testsuite/gas/xtensa/j_too_far.d: New test definition. - * testsuite/gas/xtensa/j_too_far.l: New test output. - * testsuite/gas/xtensa/loop_align.d: New test definition. - * testsuite/gas/xtensa/loop_misalign.d: New test definition. - * testsuite/gas/xtensa/trampoline-2.d: New test definition. - * testsuite/gas/xtensa/trampoline-2.l: Remove empty output. - * testsuite/gas/xtensa/xtensa-err.exp: Use positive logic. - -2019-04-11 Max Filippov - - * config/tc-xtensa.c (xtensa_literal_pseudo): Drop code that has - no effect. - (get_literal_pool_location): Only search for the literal pool - when auto litpools is used, otherwise take one recorded in the - tc_segment_info_data. - (xtensa_assign_litpool_addresses): New function. - (xtensa_move_literals): Don't duplicate 'literal pool location - required...' error message. Call xtensa_assign_litpool_addresses. - -2019-04-11 Max Filippov - - * config/tc-xtensa.c (xtensa_is_init_fini): Add declaration. - (xtensa_mark_literal_pool_location): Don't add fill frag to literal - section that records literal pool location. - (md_begin): Call xtensa_mark_literal_pool_location when text - section literals or auto litpools are used. - (xtensa_elf_section_change_hook): Call - xtensa_mark_literal_pool_location when text section literals or - auto litpools are used, there's no literal pool location defined - for the current section and it's not .init or .fini. - * testsuite/gas/xtensa/auto-litpools-first1.d: Fix up addresses. - * testsuite/gas/xtensa/auto-litpools-first2.d: Likewise. - * testsuite/gas/xtensa/auto-litpools.d: Likewise. - -2019-04-11 Sudakshina Das - - * config/tc-aarch64.c (process_omitted_operand): Add case for - AARCH64_OPND_Rt_SP. - (parse_operands): Likewise. - * testsuite/gas/aarch64/armv8_5-a-memtag.d: Update tests. - * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. - * testsuite/gas/aarch64/illegal-memtag.l: Likewise. - * testsuite/gas/aarch64/illegal-memtag.s: Likewise. - -2019-04-11 Sudakshina Das - - * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for ldgm and stgm. - * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. - * testsuite/gas/aarch64/illegal-memtag.l: Likewise. - * testsuite/gas/aarch64/illegal-memtag.s: Likewise. - -2019-04-10 Rainer Orth - - * config/tc-i386.c (need_plt32_p) [TE_SOLARIS]: Return FALSE. - * testsuite/gas/i386/solaris/solaris.exp: New driver. - * testsuite/gas/i386/solaris/reloc64.d, - testsuite/gas/i386/solaris/x86-64-jump.d, - testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d, - testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d, - testsuite/gas/i386/solaris/x86-64-nop-3.d, - testsuite/gas/i386/solaris/x86-64-nop-4.d, - testsuite/gas/i386/solaris/x86-64-nop-5.d, - testsuite/gas/i386/solaris/x86-64-relax-2.d, - testsuite/gas/i386/solaris/x86-64-relax-3.d: New tests. - * testsuite/gas/i386/reloc64.d, - testsuite/gas/i386/x86-64-jump.d, - testsuite/gas/i386/x86-64-mpx-branch-1.d, - testsuite/gas/i386/x86-64-mpx-branch-2.d, - testsuite/gas/i386/x86-64-nop-3.d, - testsuite/gas/i386/x86-64-nop-4.d, - testsuite/gas/i386/x86-64-nop-5.d, - testsuite/gas/i386/x86-64-relax-2.d, - testsuite/gas/i386/x86-64-relax-3.d: Skip on *-*-solaris*. - -2019-04-10 Alan Modra - - * config/te-cloudabi.h: New file. - * config/tc-aarch64.c (aarch64_after_parse_args): Use TE_CLOUDABI - rather than TARGET_OS to select cloudabi. - * config/tc-i386.h (ELF_TARGET_FORMAT64): Define for TE_CLOUDABI. - * configure.tgt (*-*-cloudabi*): Set em=cloudabi. - -2019-04-09 Robert Suchanek - - * testsuite/gas/mips/mips.exp: Run hwr-names test. - * testsuite/gas/mips/hwr-names.s: Add test cases for RDHWR with - the SEL field. - * testsuite/gas/mips/mipsr6@hwr-names.d: New file. - -2019-04-08 H.J. Lu - - * config/tc-i386.c (output_insn): Support - GNU_PROPERTY_X86_ISA_1_AVX512_BF16. - * testsuite/gas/i386/property-2.s: Add AVX512_BF16 test. - * testsuite/gas/i386/property-2.d: Updated. - * testsuite/gas/i386/x86-64-property-2.d: Likewise. - -2019-04-08 H.J. Lu - - * configure.tgt: Remove i386-*-kaos* and i386-*-chaos targets. - * testsuite/gas/i386/i386.exp: Remove *-*-caos* and "*-*-kaos* - check. - -2019-04-05 H.J. Lu - - * testsuite/gas/i386/i386.exp: Run -mx86-used-note=yes tests. - * testsuite/gas/i386/property-2.d: New file. - * testsuite/gas/i386/property-2.s: Likewise. - * testsuite/gas/i386/x86-64-property-2.d: Likewise. - -2019-04-05 Xuepeng Guo - - * config/tc-i386.c (cpu_arch): Add .avx512_bf16. - (cpu_noarch): Add noavx512_bf16. - * doc/c-i386.texi: Document avx512_bf16. - * testsuite/gas/i386/avx512_bf16.d: New file. - * testsuite/gas/i386/avx512_bf16.s: Likewise. - * testsuite/gas/i386/avx512_bf16_vl-inval.l: Likewise. - * testsuite/gas/i386/avx512_bf16_vl-inval.s: Likewise. - * testsuite/gas/i386/avx512_bf16_vl.d: Likewise. - * testsuite/gas/i386/avx512_bf16_vl.s: Likewise. - * testsuite/gas/i386/x86-64-avx512_bf16.d: Likewise. - * testsuite/gas/i386/x86-64-avx512_bf16.s: Likewise. - * testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l: Likesie. - * testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s: Likewise. - * testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Likewise. - * testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Likewise. - * testsuite/gas/i386/i386.exp: Add BF16 related tests. - -2019-04-05 Alan Modra - - * testsuite/gas/ppc/bc.s, - * testsuite/gas/ppc/bcat.d, - * testsuite/gas/ppc/bcaterr.d, - * testsuite/gas/ppc/bcaterr.l, - * testsuite/gas/ppc/bcy.d, - * testsuite/gas/ppc/bcyerr.d, - * testsuite/gas/ppc/bcyerr.l: New tests. - * testsuite/gas/ppc/ppc.exp: Run them. - -2019-04-05 Alan Modra - - * testsuite/gas/ppc/476.d: Remove trailing spaces. - * testsuite/gas/ppc/a2.d: Likewise. - * testsuite/gas/ppc/booke.d: Likewise. - * testsuite/gas/ppc/booke_xcoff.d: Likewise. - * testsuite/gas/ppc/e500.d: Likewise. - * testsuite/gas/ppc/e500mc.d: Likewise. - * testsuite/gas/ppc/e6500.d: Likewise. - * testsuite/gas/ppc/htm.d: Likewise. - * testsuite/gas/ppc/power6.d: Likewise. - * testsuite/gas/ppc/power8.d: Likewise. - * testsuite/gas/ppc/power9.d: Likewise. - * testsuite/gas/ppc/vle.d: Likewise. - -2019-04-04 Peter Bergner - - PR gas/24349 - * testsuite/gas/ppc/power8.s: (bdnztar, bdnztarl, bdztar, bdztarl, - btar, btarl, bdnztar-, bdnztarl-, bdnztar+, bdnztarl+, bdztar-, - bdztarl-, bdztar+, bdztarl+, bgetar, bnltar, bgetarl, bnltarl, - bletar, bngtar, bletarl, bngtarl, bnetar, bnetarl, bnstar, bnutar, - bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-, bnltarl-, bletar-, - bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-, bnstar-, bnutar-, - bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+, bnltarl+, bletar+, - bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+, bnstar+, bnutar+, - bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl, beqtar, - beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-, - bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-, - buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+, - bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar, - bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar, - bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+, - bttarl+): Add tests of extended mnemonics. - * testsuite/gas/ppc/power8.d: Likewise. Update previous bctar tests - to expect new extended mnemonics. - * testsuite/gas/ppc/a2.s: : Update test - to not use illegal BO value. Use a more convenient BI value. - * testsuite/gas/ppc/a2.d: Update tests for new expect output. - -2019-04-03 Max Filippov - - * config/tc-xtensa.c (convert_frag_immed): Drop - convert_frag_immed_finish_loop invocation. - (convert_frag_immed_finish_loop): Drop declaration and - definition. - * config/xtensa-relax.c (widen_spec_list): Replace loop - widening that uses addi/addmi with widening that uses l32r - and const16. - -2019-04-01 Andre Vieira - - * config/tc-arm.c (arm_ext_table): New struct type. - (arm_arch_option_table): Add new 'arm_ext_table' field. - (ARM_EXT,ARM_ADD,ARM_REMOVE, ALL_FP): New macros. - (armv5te_ext_table, armv7ve_ext_table, armv7a_ext_table, - armv7r_ext_table, armv7em_ext_table, armv8a_ext_table, - armv81a_ext_table, armv82a_ext_table, armv84a_ext_table, - armv85a_ext_table, armv8m_main_ext_table, - armv8r_ext_table): New architecture extension tables. - (ARM_ARCH_OPT): Add new default field. - (ARM_ARCH_OPT2): New macro. - (arm_archs): Extend some architectures with the new architecture - extension tables mentioned above. - (arm_extensions): Add DEPRECATED comment with instructions to - use new table. - (arm_parse_extension): Change to use new extension tables. - (arm_parse_cpu): Don't change existing behavior. - (arm_parse_arch): Change to use new extension tables. - * doc/c-arm.texi: Document new architecture extensions. - * testsuite/gas/arm/attr-mfpu-neon-fp16.d: Change test to use new - extension option rather than -mfpu and change expected behaviour to - sane outputs. - * testsuite/gas/arm/armv8-2-fp16-scalar-bad-ext.d: New. - * testsuite/gas/arm/armv8-2-fp16-scalar-ext.d: New. - * testsuite/gas/arm/armv8-2-fp16-scalar-thumb-ext.d: New. - * testsuite/gas/arm/armv8-2-fp16-simd-ext.d: New. - * testsuite/gas/arm/armv8-2-fp16-simd-thumb-ext.d: New. - * testsuite/gas/arm/armv8-2-fp16-simd-warning-ext.d: New. - * testsuite/gas/arm/armv8-2-fp16-simd-warning-thumb-ext.d: New. - * testsuite/gas/arm/armv8_2+rdma-ext.d: New. - * testsuite/gas/arm/armv8_2-a-fp16-thumb2-ext.d: New. - * testsuite/gas/arm/armv8_2-a-fp16_ext.d: New. - * testsuite/gas/arm/armv8_3-a-fp-bad-ext.d: New. - * testsuite/gas/arm/armv8_3-a-fp-ext.d: New. - * testsuite/gas/arm/armv8_3-a-fp16-ext.d: New. - * testsuite/gas/arm/armv8_3-a-simd-bad-ext.d: New. - * testsuite/gas/arm/armv8_4-a-fp16-ext.d: New. - * testsuite/gas/arm/armv8m.main+fp.d: New. - * testsuite/gas/arm/armv8m.main+fp.dp.d: New. - * testsuite/gas/arm/attr-ext-fpv5-d16.d: New. - * testsuite/gas/arm/attr-ext-fpv5.d: New. - * testsuite/gas/arm/attr-ext-idiv.d: New. - * testsuite/gas/arm/attr-ext-mp.d: New. - * testsuite/gas/arm/attr-ext-neon-fp16.d: New. - * testsuite/gas/arm/attr-ext-neon-vfpv3.d: New. - * testsuite/gas/arm/attr-ext-neon-vfpv4.d: New. - * testsuite/gas/arm/attr-ext-sec.d: New. - * testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d: New. - * testsuite/gas/arm/attr-ext-vfpv3-d16.d: New. - * testsuite/gas/arm/attr-ext-vfpv3-fp16.d: New. - * testsuite/gas/arm/attr-ext-vfpv3.d: New. - * testsuite/gas/arm/attr-ext-vfpv3xd-fp.d: New. - * testsuite/gas/arm/attr-ext-vfpv3xd.d: New. - * testsuite/gas/arm/attr-ext-vfpv4-d16.d: New. - * testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d: New. - * testsuite/gas/arm/attr-ext-vfpv4.d: New. - * testsuite/gas/arm/dotprod-mandatory-ext.d: New. - * testsuite/gas/arm/fpv5-d16.s: New. - * testsuite/gas/arm/fpv5-sp-d16.s: New. - -2019-03-28 Alan Modra - - PR 24390 - * testsuite/gas/ppc/476.d: Update mtfsb*. - * testsuite/gas/ppc/a2.d: Likewise. - -2019-03-21 Alan Modra - - * emul.h (struct emulation): Delete strip_underscore. - * emul-target.h (emul_strip_underscore): Don't define. - (emul_struct_name): Update initialization. - -2019-03-21 Alan Modra - - * config/tc-d10v.c (md_apply_fix): Apply BFD_RELOC_8. - * config/tc-pdp11.c (md_apply_fix): Likewise. - * config/tc-d30v.c (md_apply_fix): Don't emit errors for BFD_RELOC_8, - BFD_RELOC_16, and BFD_RELOC_64. - * testsuite/gas/all/gas.exp: Move target exclusions for forward - test, but not cr16, to.. - * testsuite/gas/all/forward.d: ..here, with explanation. Remove - d10v, d30v, and pdp11 xfails. - -2019-03-19 H.J. Lu - - * config/tc-i386.c (optimize_encoding): Don't check AVX for - EVEX vector load/store optimization. Check both operands for - ZMM register. Update EVEX vector load/store opcode check. - Choose EVEX Disp8 over VEX Disp32. - * testsuite/gas/i386/optimize-1.d: Updated. - * testsuite/gas/i386/optimize-1a.d: Likewise. - * testsuite/gas/i386/optimize-2.d: Likewise. - * testsuite/gas/i386/optimize-4.d: Likewise. - * testsuite/gas/i386/optimize-5.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-2.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-2b.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-5.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-6.d: Likewise. - * testsuite/gas/i386/optimize-1.s: Add ZMM register load - test. - * testsuite/gas/i386/x86-64-optimize-2.s: Likewise. - -2019-03-19 H.J. Lu - - PR gas/24352 - * config/tc-i386.c (optimize_encoding): Check only - cpu_arch_flags.bitfield.cpuavx512vl. - * testsuite/gas/i386/i386.exp: Run x86-64-optimize-2b. - * testsuite/gas/i386/x86-64-optimize-2.d: Revert the last - change. - * testsuite/gas/i386/x86-64-optimize-2b.d: New file. - * testsuite/gas/i386/x86-64-optimize-2b.s: Likewise. - -2019-03-19 H.J. Lu - - PR gas/24359 - * testsuite/gas/i386/i386.exp: Change optimize-6a, optimize-7, - x86-64-optimize-7a and x86-64-optimize-8 tests to run_list_test. - Remove optimize-6c and x86-64-optimize-7c tests. - * testsuite/gas/i386/noavx-3.l: Updated. - * testsuite/gas/i386/noavx-4.d: Likewise. - * testsuite/gas/i386/noavx-5.d: Likewise. - * testsuite/gas/i386/noavx-3.s: Add AVX512F tests. - * testsuite/gas/i386/noavx-4.s: Remove AVX512F tests. - * testsuite/gas/i386/nosse-5.s: Likewise. - * testsuite/gas/i386/optimize-6a.d: Removed. - * testsuite/gas/i386/optimize-6c.d: Likewise. - * testsuite/gas/i386/optimize-7.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-8.d: Likewise. - * testsuite/gas/i386/optimize-6a.l: New file. - * testsuite/gas/i386/optimize-6a.s: Likewise. - * testsuite/gas/i386/optimize-7.l: Likewise. - * testsuite/gas/i386/x86-64-optimize-7a.l: Likewise. - * testsuite/gas/i386/x86-64-optimize-7a.s: Likewise. - * testsuite/gas/i386/x86-64-optimize-8.l: Likewise. - -2019-03-18 Alan Modra - - * config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp. - * as.c (macro_expr): Likewise. - * macro.c (buffer_and_nest): Likewise. - * read.c (temp_ilp): Remove FIXME. - -2019-03-18 H.J. Lu - - * testsuite/gas/i386/att-regs.d: Pass -O0 to assembler. - * testsuite/gas/i386/avx512bw-intel.d: Likewise. - * testsuite/gas/i386/avx512bw.d: Likewise. - * testsuite/gas/i386/avx512f-intel.d: Likewise. - * testsuite/gas/i386/avx512f.d: Likewise. - * testsuite/gas/i386/disp32.d: Likewise. - * testsuite/gas/i386/intel-regs.d: Likewise. - * testsuite/gas/i386/pseudos.d: Likewise. - * testsuite/gas/i386/x86-64-disp32.d: Likewise. - * testsuite/gas/i386/x86-64-pseudos.d: Likewise. - -2019-03-18 H.J. Lu - - PR gas/24348 - * config/tc-i386.c (optimize_encoding): Encode 128-bit and - 256-bit EVEX vector register load/store instructions as VEX - vector register load/store instructions for -O1. - * doc/c-i386.texi: Update -O1 documentation. - * testsuite/gas/i386/i386.exp: Run PR gas/24348 tests. - * testsuite/gas/i386/optimize-1.s: Add tests for EVEX vector - load/store instructions. - * testsuite/gas/i386/optimize-2.s: Likewise. - * testsuite/gas/i386/optimize-3.s: Likewise. - * testsuite/gas/i386/optimize-5.s: Likewise. - * testsuite/gas/i386/x86-64-optimize-2.s: Likewise. - * testsuite/gas/i386/x86-64-optimize-3.s: Likewise. - * testsuite/gas/i386/x86-64-optimize-4.s: Likewise. - * testsuite/gas/i386/x86-64-optimize-5.s: Likewise. - * testsuite/gas/i386/x86-64-optimize-6.s: Likewise. - * testsuite/gas/i386/optimize-1.d: Updated. - * testsuite/gas/i386/optimize-2.d: Likewise. - * testsuite/gas/i386/optimize-3.d: Likewise. - * testsuite/gas/i386/optimize-4.d: Likewise. - * testsuite/gas/i386/optimize-5.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-2.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-4.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-5.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-6.d: Likewise. - * testsuite/gas/i386/optimize-7.d: New file. - * testsuite/gas/i386/optimize-7.s: Likewise. - * testsuite/gas/i386/x86-64-optimize-8.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-8.s: Likewise. - -2019-03-18 H.J. Lu - - * config/tc-i386.c (optimize_encoding): Encode 256-bit/512-bit - VEX/EVEX vector register clearing instructions with 128-bit VEX - vector register clearing instructions at -O1. - * doc/c-i386.texi: Update -O1 and -O2 documentation. - * testsuite/gas/i386/i386.exp: Run optimize-1a and - x86-64-optimize-2a. - * testsuite/gas/i386/optimize-1a.d: New file. - * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise. - -2019-03-17 H.J. Lu - - PR gas/24353 - * config/tc-i386.c: Include if it exists and try - including if we have it. - (INT_MAX): Define if not defined. - (md_parse_option): Set optimize to INT_MAX for -Os. - * testsuite/gas/i386/optimize-2.s: Add a test. - * testsuite/gas/i386/x86-64-optimize-3.s: Likewise. - * testsuite/gas/i386/optimize-2.d: Updated. - * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. - -2019-03-17 H.J. Lu - - PR gas/24352 - * config/tc-i386.c (optimize_encoding): Encode 512-bit EVEX - with 128-bit VEX encoding only when AVX is enabled and with - 128-bit EVEX encoding only when AVX512VL is enabled. - * testsuite/gas/i386/i386.exp: Run PR gas/24352 tests. - * testsuite/gas/i386/optimize-6.s: New file. - * testsuite/gas/i386/optimize-6a.d: Likewise. - * testsuite/gas/i386/optimize-6b.d: Likewise. - * testsuite/gas/i386/optimize-6c.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-7.s: Likewise. - * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-7b.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise. - * testsuite/gas/i386/x86-64-optimize-2.d: Updated. - -2019-03-15 Li Hao - - PR 24308 - * config/tc-i386.c (parse_insn): Check mnemp before using it to - determine if a suffix can be trimmed. - -2019-03-13 Christian Eggers - - * dwarf2dbg.c (out_set_addr): Align relocation within .debug_line. - -2019-03-13 Christian Eggers - - * dwarf2dbg.c (out_debug_line): Pad size of .debug_line section. - -2019-03-13 Christian Eggers - - * dwarf2dbg.c (out_debug_str): Use octets for .debug_string pointers. - -2019-03-13 Christian Eggers - - * dwarf2dbg.c (out_debug_line): Use octets for .debug_line prologue. - -2019-03-13 Christian Eggers - - * dwarf2dbg.c (out_debug_line): Use octets for dwarf2 headers. - (out_debug_aranges, out_debug_info): Likewise. - -2019-03-13 Christian Eggers - - * symbols.h (symbol_temp_new_now_octets): Declare. - (symbol_set_value_now_octets, symbol_octets_p): Declare. - * symbols.c (struct symbol_flags): New member sy_octets. - (symbol_temp_new_now_octets): New function. - (resolve_symbol_value): Return octets instead of bytes if - sy_octets is set. - (symbol_set_value_now_octets): New function. - (symbol_octets_p): New function. - -2019-03-13 Christian Eggers - - * dwarf2dbg.c (dwarf2_emit_insn): Fix calculation of line info offset. - -2019-03-12 Andreas Krebbel - - * testsuite/gas/s390/zarch-arch13.s: Adjust testcase to optable changes. - * testsuite/gas/s390/zarch-arch13.d: Likewise. - -2019-02-27 Matthew Malcomson - - * testsuite/gas/aarch64/dotproduct.d: Use multiple "as" lines. - * testsuite/gas/aarch64/dotproduct_armv8_4.d: Remove. - * testsuite/gas/aarch64/dotproduct_armv8_4.s: Remove. - * testsuite/gas/aarch64/illegal-dotproduct.d: Use multiple "as" - lines. - * testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: Remove. - * testsuite/gas/aarch64/ldst-rcpc.d: Use multiple "as" lines. - -2019-02-24 Alan Modra - - * config/tc-ppc.c (parse_tls_arg): Wrap in #ifdef OBJ_ELF. - -2019-02-24 Alan Modra - - PR 24144 - * config/obj-aout.c (obj_aout_frob_file_before_fix): Write to end - of section to ensure file contents cover aligned section size. - -2019-02-22 Kyrylo Tkachov - - * config/tc-arm.c (arm_cpus): Add neoverse-n1. - * doc/c-arm.texi (-mcpu): Document neoverse-n1 value. - -2019-02-22 Kyrylo Tkachov - - * config/tc-aarch64.c (aarch64_cpus): Add neoverse-e1. - * doc/c-aarch64.texi (-mcpu): Document neoverse-e1 value. - -2019-02-22 Kyrylo Tkachov - - * config/tc-aarch64.c (aarch64_cpus): Add neoverse-n1. - * doc/c-aarch64.texi (-mcpu): Document neoverse-n1 value. - -2019-02-19 Paul Hua - - * NEWS: Mention -m[no-]fix-loongson3-llsc. - * configure.ac: Add --enable-mips-fix-loongson3-llsc. - Define DEFAULT_MIPS_FIX_LOONGSON3_LLSC. - * config.in: Regenerated. - * configure: Likewise. - * config/tc-mips.c (sync_insn, mips_fix_loongson3_llsc): - New variables. - (options): New OPTION_FIX_LOONGSON3_LLSC, - OPTION_NO_FIX_LOONGSON3_LLSC. - (md_longopts): Add -m[no-]fix-loongson3-llsc. - (md_begin): Initialize sync insn. - (fix_loongson3_llsc): New. - (append_insn): Call fix_loongson3_llsc. - (md_parse_option): Handle OPTION_FIX_LOONGSON3_LLSC, - OPTION_NO_FIX_LOONGSON3_LLSC. - (md_show_usage): Display -m[no-]fix-loongson3-llsc. - * doc/c-mips.texi: Document -m[no-]fix-loongson3-llsc, - --enable-mips-fix-loongson3-llsc=[yes|no]. - -2019-02-10 H.J. Lu - - PR gas/24165 - * frags.c (frag_var_init): Pass max_chars to TC_FRAG_INIT as - max_bytes. - * config/tc-aarch64.h (TC_FRAG_INIT): Add and pass max_bytes to - aarch64_init_frag. - * /config/tc-arm.h (TC_FRAG_INIT): And and pass max_bytes to - arm_init_frag. - * config/tc-avr.h (TC_FRAG_INIT): And and ignore max_bytes. - * config/tc-ia64.h (TC_FRAG_INIT): Likewise. - * config/tc-mmix.h (TC_FRAG_INIT): Likewise. - * config/tc-nds32.h (TC_FRAG_INIT): Likewise. - * config/tc-ns32k.h (TC_FRAG_INIT): Likewise. - * config/tc-rl78.h (TC_FRAG_INIT): Likewise. - * config/tc-rx.h (TC_FRAG_INIT): Likewise. - * config/tc-score.h (TC_FRAG_INIT): Likewise. - * config/tc-tic54x.h (TC_FRAG_INIT): Likewise. - * config/tc-tic6x.h (TC_FRAG_INIT): Likewise. - * config/tc-xtensa.h (TC_FRAG_INIT): Likewise. - * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to - (alignment ? ((1 << alignment) - 1) : 1) - (i386_tc_frag_data): Add max_bytes. - (TC_FRAG_INIT): Add and track max_bytes. - (HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with - fragP->tc_frag_data.max_bytes. - * doc/internals.texi: Update TC_FRAG_TYPE with max_bytes. - -2019-02-08 Jim Wilson - - * config/tc-riscv.c (validate_riscv_insn) <'C'>: Add 'z' support. - (riscv_ip) <'C'>: Add 'z' support. - -2019-02-07 Tamar Christina - - * config/tc-arm.c (insns): Redefine THUMB_VARIANT and ARM_VARIANT for - hlt to armv1. - * testsuite/gas/arm/armv8a-automatic-hlt.d: Update TAGs - * testsuite/gas/arm/hlt.d: New test. - * testsuite/gas/arm/hlt.s: New test. - -2019-02-07 Tamar Christina - - * testsuite/gas/aarch64/undefined_advsimd_armv8_3.d: New test. - * testsuite/gas/aarch64/undefined_advsimd_armv8_3.s: New test. - -2019-02-07 Tamar Christina - - PR binutils/23212 - * testsuite/gas/aarch64/undefined_by_elem_sz_l.s: New test. - * testsuite/gas/aarch64/undefined_by_elem_sz_l.d: New test. - -2019-02-07 Eric Botcazou - - * config/tc-visium.c (md_assemble) : Align instruction on - 64-bit boundaries for the GR6. - * testsuite/gas/visium/allinsn_gr6.s: Tweak. - * testsuite/gas/visium/allinsn_gr6.d: Likewise. - * testsuite/gas/visium/bra-1.d: New test. - * testsuite/gas/visium/bra-1.s: Likewise. - * testsuite/gas/visium/visium.exp: Run bra-1 test. - -2019-01-31 John Darrington - - * config/tc-s12z.c (lex_imm): Add new argument exp_o. - (emit_reloc): New function. - (md_apply_fix): [BFD_RELOC_S12Z_OPR] Recognise that it - can be either 2 bytes or 3 bytes long. - * testsuite/gas/s12z/mov-imm-reloc.d: New file. - * testsuite/gas/s12z/mov-imm-reloc.s: New file. - * testsuite/gas/s12z/s12z.exp: Add them. - -2019-01-31 John Darrington - - * config/tc-s12z.c (md_apply_fix): Fix incorrect limits. - * testsuite/gas/s12z/pc-rel-bad.d: New file. - * testsuite/gas/s12z/pc-rel-bad.l: New file. - * testsuite/gas/s12z/pc-rel-bad.s: New file. - * testsuite/gas/s12z/pc-rel-good.d: New file. - * testsuite/gas/s12z/pc-rel-good.s: New file. - * testsuite/gas/s12z/s12z.exp: Add them. - -2019-01-31 John Darrington - - * config/tc-s12z.c (tfr): Emit warning if operands are the same. - * testsuite/gas/s12z/exg.d: New test case. - * testsuite/gas/s12z/exg.l: New file. - -2019-01-31 John Darrington - - * config/tc-s12z.c (lex_opr): Add a parameter to indicate whether - immediate mode operands should be permitted. - * testsuite/s12z/imm-dest.d: New file. - * testsuite/s12z/imm-dest.l: New file. - * testsuite/s12z/imm-dest.s: New file. - * testsuite/s12z/s12z.exp: Add them. - -2019-01-31 Andreas Krebbel - - * config/tc-s390.c (s390_parse_cpu): New entry for arch13. - * doc/c-s390.texi: Document arch13 march option. - * testsuite/gas/s390/s390.exp: Run the arch13 related tests. - * testsuite/gas/s390/zarch-arch13.d: New test. - * testsuite/gas/s390/zarch-arch13.s: New test. - * testsuite/gas/s390/zarch-z13.d: Expect the renamed mnemonics - also for z13. - -2019-01-31 Alan Modra - - * config/tc-alpha.c (md_apply_fix): Correct range checks for - BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR. - * config/tc-arm.c (md_apply_fix): Use llabs rather than abs. - * config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error. - -2019-01-28 Max Filippov - - * config/tc-xtensa.c (md_apply_fix): Mark fixups for constant - symbols as done in md_apply_fix. - * testsuite/gas/all/forward.d: Don't XFAIL for xtensa. - -2019-01-28 Nick Clifton - - * po/fr.po: Updated French translation. - * po/ru.po: Updated Russian translation. - -2019-01-28 Alan Modra - - * configure.ac (ac_checking): Set from bfd/development.sh - development variable. - * configure: Regenerate. - -2019-01-25 Sudakshina Das - - * config/tc-aarch64.c (warn_unpredictable_ldst): Exempt - stg, st2g, stzg and stz2g from Xt == Xn with writeback warning. - * testsuite/gas/aarch64/armv8_5-a-memtag.d: Change tests for - stg, stzg, st2g and stz2g. - * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. - * testsuite/gas/aarch64/illegal-memtag.l: Likewise. - * testsuite/gas/aarch64/illegal-memtag.s: Likewise. - -2019-01-25 Sudakshina Das - - * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm. - * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. - * testsuite/gas/aarch64/illegal-memtag.l: Likewise. - * testsuite/gas/aarch64/illegal-memtag.s: Likewise. - -2019-01-25 Sudakshina Das - Ramana Radhakrishnan - - * config/tc-aarch64.c (parse_address_main): Remove support for - [base]! address expression. - (parse_operands): Remove support for AARCH64_OPND_ADDR_SIMPLE_2. - (warn_unpredictable_ldst): Remove support for ldstgv_indexed. - * testsuite/gas/aarch64/armv8_5-a-memtag.d: Remove tests for ldgv - and stgv. - * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. - * testsuite/gas/aarch64/illegal-memtag.l: Likewise. - * testsuite/gas/aarch64/illegal-memtag.s: Likewise. - -2019-01-25 Wu Heng - - PR gas/23940 - * macro.c (getstring): Check array bound before accessing. - -2019-01-25 Alan Modra - - PR 20902 - PR 24125 - * read.c (stringer): Delete assertion. - -2019-01-21 Nick Clifton - - * po/uk.po: Updated Ukranian translation. - -2019-01-19 Nick Clifton - - * config.in: Regenerate. - * configure: Regenerate. - * po/gas.pot: Regenerate. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-17 Tamar Christina - - * testsuite/gas/arm/archv6t2-1-pe.d: New test. - * testsuite/gas/arm/archv6t2-1.d: Skip pe. - * testsuite/gas/arm/csdb.d: Skip pe. - * testsuite/gas/arm/sb-thumb1-pe.d: New test. - * testsuite/gas/arm/sb-thumb1.d: Skip pe. - * testsuite/gas/arm/sb-thumb2-pe.d: New test. - * testsuite/gas/arm/sb-thumb2.d: Skip pe. - * testsuite/gas/arm/udf.d: Skip pe. - -2019-01-16 Kito Cheng - - * testsuite/gas/riscv/attribute-empty.d: New. - -2019-01-16 Kito Cheng - Nelson Chu - - * config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined. - (riscv_set_options): Add `arch_attr` field. - (riscv_opts): Set default value for arch_attr. - (riscv_write_out_arch_attr): New. - (riscv_set_public_attributes): Likewise. - (riscv_md_end): Likewise. - (riscv_convert_symbolic_attribute): Likewise. - (s_riscv_attribute): Likewise. - (explicit_arch_attr): Likewise. - (riscv_pseudo_table): Add .attribute to the table. - (options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR - enumeration constants. - (md_longopts): Add `march-attr' and `mno-arch-attr' options. - (md_parse_option): Handle the new options. - (md_show_usage): Document the `march-attr' option. - * config/tc-riscv.h (md_end): Define as riscv_md_end - (riscv_md_end): Declare. - (CONVERT_SYMBOLIC_ATTRIBUTE): Define as - riscv_convert_symbolic_attribute. - (riscv_convert_symbolic_attribute): Declare. - (start_assemble): Declare. - * testsuite/gas/elf/elf.exp: Adjust test case for section2.e. - * testsuite/gas/elf/section2.e-riscv: New. - * testsuite/gas/riscv/attribute-01.d: New test - * testsuite/gas/riscv/attribute-02.d: Likewise. - * testsuite/gas/riscv/attribute-03.d: Likewise. - * testsuite/gas/riscv/attribute-04.d: Likewise. - * testsuite/gas/riscv/attribute-04.s: Likewise. - * testsuite/gas/riscv/attribute-05.d: Likewise. - * testsuite/gas/riscv/attribute-05.s: Likewise. - * testsuite/gas/riscv/attribute-06.d: Likewise. - * testsuite/gas/riscv/attribute-06.s: Likewise. - * testsuite/gas/riscv/attribute-07.d: Likewise. - * testsuite/gas/riscv/attribute-07.s: Likewise. - * testsuite/gas/riscv/attribute-08.d: Likewise. - * testsuite/gas/riscv/attribute-08.s: Likewise. - * testsuite/gas/riscv/attribute-unknown.d: Likewise. - * testsuite/gas/riscv/attribute-unknown.s: Likewise. - * testsuite/gas/riscv/empty.l: Likewise. - * doc/c-riscv.texi (.attribute): Add documentation. - * configure.ac (--enable-default-riscv-attribute): New options. - * configure: Re-generate. - * config.in: Re-generate. - -2019-01-16 John Darrington - - * config/tc-s12z.c (lex_reg_name): Compare the length of the strings - before the contents. - * testsuite/gas/s12z/labels.d: New file. - * testsuite/gas/s12z/labels.s: New file. - * testsuite/gas/s12z/s12z.exp: Add them. - * config/tc-s12z.c (tfr): Change as_bad to as_warn. - Also fix message typo and semantics. - * config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of - BFD_RELOC_24. - * testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead - of R_S12Z_EXT24. - -2019-01-14 Srinath Parvathaneni - - * config/tc-arm.c (arm_ext_v6k_v6t2): Define. - (insns) [ARM_VARIANT]: Modified. - (insns) [THUMB_VARIANT]: To implement few ARMv6K instructions - in ARMv6T2 as well. - * testsuite/gas/arm/archv6t2-1.d: New test. - * testsuite/gas/arm/archv6t2-1.s: Likewise. - * testsuite/gas/arm/archv6t2-2.d: Likewise. - -2019-01-11 Alan Modra - - PR 23963 - * testsuite/gas/m68hc11/lbranch-dwarf2.d: Adjust for PR23963 change. - * testsuite/gas/m68hc11/opers12-dwarf2.d: Likewise. - -2019-01-10 Nick Clifton - - PR 23963 - * testsuite/gas/mips/mips16-branch-absolute-1.d: Adjust for the - fact that control characters are now displayed as escape - sequences. - * testsuite/gas/mips/mips16-e.d: Likewise. - * testsuite/gas/mips/mips16-pcrel-0.d: Likewise. - * testsuite/gas/mips/mips16-pcrel-1.d: Likewise. - * testsuite/gas/mips/mips16-pcrel-delay-0.d: Likewise. - * testsuite/gas/mips/mips16-pcrel-delay-1.d: Likewise. - * testsuite/gas/mips/mips16-pcrel-n32-0.d: Likewise. - * testsuite/gas/mips/mips16-pcrel-n32-1.d: Likewise. - * testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: Likewise. - * testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: Likewise. - * testsuite/gas/mips/mips16e2@mips16-pcrel-0.d: Likewise. - * testsuite/gas/mips/mips16e2@mips16-pcrel-1.d: Likewise. - * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-0.d: Likewise. - * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-1.d: Likewise. - * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-0.d: Likewise. - * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-1.d: Likewise. - * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d: - Likewise. - * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d: - Likewise. - * testsuite/gas/mips/mipsel16-e.d: Likewise. - * testsuite/gas/mips/mipsr6@msa.d: Likewise. - * testsuite/gas/mips/mipsr6@relax-swap3.d: Likewise. - * testsuite/gas/mips/r6-64-n32.d: Likewise. - * testsuite/gas/mips/r6-64-n64.d: Likewise. - * testsuite/gas/mips/r6-n32.d: Likewise. - * testsuite/gas/mips/r6-n64.d: Likewise. - * testsuite/gas/mips/r6.d: Likewise. - * testsuite/gas/mips/tmips16-e.d: Likewise. - * testsuite/gas/mips/tmipsel16-e.d: Likewise. - * testsuite/gas/mn10300/relax.d: Likewise. - -2019-01-09 John Darrington - - * testsuite/gas/s12z/jsr.s: New case. - * testsuite/gas/s12z/jsr.d: New case. - -2019-01-09 Andrew Paprocki - - * configure: Regenerate. - -2019-01-08 Kyrylo Tkachov - - * config/tc-aarch64.c (aarch64_cpus): Add ares. - * doc/c-aarch64.texi (-mcpu): Document ares value. - -2019-01-08 Alan Modra - - * testsuite/gas/rx/rx.exp: Create generated test source in - current directory. - * testsuite/gas/rx/Xtod.d, * testsuite/gas/rx/abs.d, - * testsuite/gas/rx/adc.d, * testsuite/gas/rx/add.d, - * testsuite/gas/rx/and.d, * testsuite/gas/rx/bclr.d, - * testsuite/gas/rx/bcnd.d, * testsuite/gas/rx/bfmov.d, - * testsuite/gas/rx/bmcnd.d, * testsuite/gas/rx/bnot.d, - * testsuite/gas/rx/bra.d, * testsuite/gas/rx/brk.d, - * testsuite/gas/rx/bset.d, * testsuite/gas/rx/bsr.d, - * testsuite/gas/rx/btst.d, * testsuite/gas/rx/clrpsw.d, - * testsuite/gas/rx/cmp.d, * testsuite/gas/rx/dabs.d, - * testsuite/gas/rx/dadd.d, * testsuite/gas/rx/dbt.d, - * testsuite/gas/rx/dcmp.d, * testsuite/gas/rx/ddiv.d, - * testsuite/gas/rx/div.d, * testsuite/gas/rx/divu.d, - * testsuite/gas/rx/dmov.d, * testsuite/gas/rx/dmul.d, - * testsuite/gas/rx/dneg.d, * testsuite/gas/rx/dpopm.d, - * testsuite/gas/rx/dpushm.d, * testsuite/gas/rx/dround.d, - * testsuite/gas/rx/dsqrt.d, * testsuite/gas/rx/dsub.d, - * testsuite/gas/rx/dtoX.d, * testsuite/gas/rx/emaca.d, - * testsuite/gas/rx/emsba.d, * testsuite/gas/rx/emul.d, - * testsuite/gas/rx/emula.d, * testsuite/gas/rx/emulu.d, - * testsuite/gas/rx/fadd.d, * testsuite/gas/rx/fcmp.d, - * testsuite/gas/rx/fdiv.d, * testsuite/gas/rx/fmul.d, - * testsuite/gas/rx/fsqrt.d, * testsuite/gas/rx/fsub.d, - * testsuite/gas/rx/ftoi.d, * testsuite/gas/rx/ftou.d, - * testsuite/gas/rx/gprel.d, * testsuite/gas/rx/int.d, - * testsuite/gas/rx/itof.d, * testsuite/gas/rx/jmp.d, - * testsuite/gas/rx/jsr.d, * testsuite/gas/rx/machi.d, - * testsuite/gas/rx/maclh.d, * testsuite/gas/rx/maclo.d, - * testsuite/gas/rx/max.d, * testsuite/gas/rx/min.d, - * testsuite/gas/rx/mov.d, * testsuite/gas/rx/movco.d, - * testsuite/gas/rx/movli.d, * testsuite/gas/rx/movu.d, - * testsuite/gas/rx/msbhi.d, * testsuite/gas/rx/msblh.d, - * testsuite/gas/rx/msblo.d, * testsuite/gas/rx/mul.d, - * testsuite/gas/rx/mulhi.d, * testsuite/gas/rx/mullh.d, - * testsuite/gas/rx/mullo.d, * testsuite/gas/rx/mvfacgu.d, - * testsuite/gas/rx/mvfachi.d, * testsuite/gas/rx/mvfaclo.d, - * testsuite/gas/rx/mvfacmi.d, * testsuite/gas/rx/mvfc.d, - * testsuite/gas/rx/mvfcp.d, * testsuite/gas/rx/mvfdc.d, - * testsuite/gas/rx/mvfdr.d, * testsuite/gas/rx/mvtacgu.d, - * testsuite/gas/rx/mvtachi.d, * testsuite/gas/rx/mvtaclo.d, - * testsuite/gas/rx/mvtc.d, * testsuite/gas/rx/mvtcp.d, - * testsuite/gas/rx/mvtdc.d, * testsuite/gas/rx/neg.d, - * testsuite/gas/rx/nop.d, * testsuite/gas/rx/not.d, - * testsuite/gas/rx/opecp.d, * testsuite/gas/rx/or.d, - * testsuite/gas/rx/pop.d, * testsuite/gas/rx/popc.d, - * testsuite/gas/rx/popm.d, * testsuite/gas/rx/push.d, - * testsuite/gas/rx/pushc.d, * testsuite/gas/rx/pushm.d, - * testsuite/gas/rx/r-bcc.d, * testsuite/gas/rx/r-bra.d, - * testsuite/gas/rx/racl.d, * testsuite/gas/rx/racw.d, - * testsuite/gas/rx/rdacl.d, * testsuite/gas/rx/rdacw.d, - * testsuite/gas/rx/revl.d, * testsuite/gas/rx/revw.d, - * testsuite/gas/rx/rmpa.d, * testsuite/gas/rx/rolc.d, - * testsuite/gas/rx/rorc.d, * testsuite/gas/rx/rotl.d, - * testsuite/gas/rx/rotr.d, * testsuite/gas/rx/round.d, - * testsuite/gas/rx/rstr.d, * testsuite/gas/rx/rte.d, - * testsuite/gas/rx/rtfi.d, * testsuite/gas/rx/rts.d, - * testsuite/gas/rx/rtsd.d, * testsuite/gas/rx/sat.d, - * testsuite/gas/rx/satr.d, * testsuite/gas/rx/save.d, - * testsuite/gas/rx/sbb.d, * testsuite/gas/rx/sccnd.d, - * testsuite/gas/rx/scmpu.d, * testsuite/gas/rx/setpsw.d, - * testsuite/gas/rx/shar.d, * testsuite/gas/rx/shll.d, - * testsuite/gas/rx/shlr.d, * testsuite/gas/rx/smovb.d, - * testsuite/gas/rx/smovf.d, * testsuite/gas/rx/smovu.d, - * testsuite/gas/rx/sstr.d, * testsuite/gas/rx/stnz.d, - * testsuite/gas/rx/stz.d, * testsuite/gas/rx/sub.d, - * testsuite/gas/rx/suntil.d, * testsuite/gas/rx/swhile.d, - * testsuite/gas/rx/tst.d, * testsuite/gas/rx/utof.d, - * testsuite/gas/rx/wait.d, * testsuite/gas/rx/xchg.d, - * testsuite/gas/rx/xor.d: Add #source line. - -2019-01-07 Kyrylo Tkachov - - * config/tc-arm.c (arm_cpus): Add ares. - * doc/c-arm.texi (-mcpu): Document ares value. - -2019-01-05 Yoshinori Sato - - * config/rx-defs.h (rx_cpu_types): Add type RXV3 and RXV3FPU. - (rx_bfield): Add prototype. - (rx_post): Likewise. - * config/rx-parse.y: Add v3 instructions and Double FPU registers. - (DSIZE): Define. - (POST): Define. - (rx_check_v3): New. check v3 type. - (rx_check_dfpu): New. check have double support. - (double_condition_table): New. dcmp contiditon. - (check_condition): Multiple condition support. - (rx_lex): RXv3 instructions support. - Add parse dcmp instruction and Double FPU registers. - (immediate): Disable optimize in dmov #imm case. - (displacement): Add double displacement in dmov instraction. - * config/tc-rx.c (rx_use_conventional_section_names): - Invert default value in rx-*-linux target. - (cpu_type): Add additional ELF flags. - (cpu_type_list): Add RXv3. - (md_parse_option): Refer elf_flags from cpu_type_list. - (md_show_usage): Add rxv3 and rxv3-dfpu. - (rx_bytesT): Add post byte. - (rx_bfield): New. generate bfmov / bfmovz "imm" field. - (rx_post): New. Set instruction post byte. - (md_assemble): Add post byte. - doc/c-rx.texi: Add cpu types. - * testsuite/gas/rx/Xtod.d: New. - * testsuite/gas/rx/Xtod.sm: New. - * testsuite/gas/rx/bfmov.d: New. - * testsuite/gas/rx/bfmov.sm: New. - * testsuite/gas/rx/dabs.d: New. - * testsuite/gas/rx/dabs.sm: New. - * testsuite/gas/rx/dadd.d: New. - * testsuite/gas/rx/dadd.sm: New. - * testsuite/gas/rx/dcmp.d: New. - * testsuite/gas/rx/dcmp.sm: New. - * testsuite/gas/rx/ddiv.d: New. - * testsuite/gas/rx/ddiv.sm: New. - * testsuite/gas/rx/dmov.d: New. - * testsuite/gas/rx/dmov.sm: New. - * testsuite/gas/rx/dmul.d: New. - * testsuite/gas/rx/dmul.sm: New. - * testsuite/gas/rx/dneg.d: New. - * testsuite/gas/rx/dneg.sm: New. - * testsuite/gas/rx/dpopm.d: New. - * testsuite/gas/rx/dpopm.sm: New. - * testsuite/gas/rx/dpushm.d: New. - * testsuite/gas/rx/dpushm.sm: New. - * testsuite/gas/rx/dround.d: New. - * testsuite/gas/rx/dround.sm: New. - * testsuite/gas/rx/dsqrt.d: New. - * testsuite/gas/rx/dsqrt.sm: New. - * testsuite/gas/rx/dsub.d: New. - * testsuite/gas/rx/dsub.sm: New. - * testsuite/gas/rx/dtoX.d: New. - * testsuite/gas/rx/dtoX.sm: New. - * testsuite/gas/rx/macros.inc: Add double FPU registers. - * testsuite/gas/rx/mvfdc.d: New. - * testsuite/gas/rx/mvfdc.sm: New. - * testsuite/gas/rx/mvfdr.d: New. - * testsuite/gas/rx/mvfdr.sm: New. - * testsuite/gas/rx/mvtdc.d: New. - * testsuite/gas/rx/mvtdc.sm: New. - * testsuite/gas/rx/rstr.d: New. - * testsuite/gas/rx/rstr.sm: New. - * testsuite/gas/rx/rx.exp: Use rxv3-dfpu option. - * testsuite/gas/rx/save.d: New. - * testsuite/gas/rx/save.sm: New. - * testsuite/gas/rx/xor.d: New. - * testsuite/gas/rx/xor.sm: Add pattern. - -2019-01-04 Wu Heng - - PR 24010 - * macro.c (get_any_string): Check for end of input whilst scanning - for separators. - -2019-01-04 Wu Heng - - PR 24009 - * read.c (stringer): Fix handling of missing '>' character at end - of <...> sequence. - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gas/ChangeLog-2019 b/gas/ChangeLog-2019 new file mode 100644 index 00000000000..dc028c9f055 --- /dev/null +++ b/gas/ChangeLog-2019 @@ -0,0 +1,4884 @@ +2019-12-27 Jan Beulich + + * config/tc-i386.c (output_branch, output_jump, + output_interseg_jump): Also emit skipped prefix warning in Intel + syntax mode. Name instruction in the warning text. + * testsuite/gas/i386/mpx-inval-1.l, + testsuite/gas/i386/notrackbad.l, + testsuite/gas/i386/x86-64-notrackbad.l: Adjust expectations. + +2019-12-27 Jan Beulich + + * config/tc-i386.c (output_branch): Handle BND prefix the same + way as other prefixes. Emit it last before REX. + (output_jump): Emit BND before REX. + (output_interseg_jump): Don't emit REX. + * testsuite/gas/i386/x86-64-branch-2.s, + testsuite/gas/i386/x86-64-branch-3.s, + testsuite/gas/i386/x86-64-mpx-branch-1.s, + testsuite/gas/i386/x86-64-mpx-branch-2.s: Add REX.W cases. + * testsuite/gas/i386/x86-64-mpx-branch-2.d: Match output against + x86-64-mpx-branch-1.d. + * testsuite/gas/i386/x86-64-branch-2.d, + testsuite/gas/i386/x86-64-branch-3.d, + testsuite/gas/i386/x86-64-mpx-branch-1.d: Adjust expectations. + +2019-12-27 Jan Beulich + + * config/tc-i386.c (flip_code16): New. + (output_branch, output_jump): Use it. + (i386_displacement): Restrict template set to just direct + branches when handling a respective operand. Don't set Disp16 + when in Intel64 mode and there's a respective template. + * testsuite/gas/i386/i386.exp: Convert x86-64-branch-3 from list + to dump test. Drop its XFail again. + * testsuite/gas/i386/x86-64-branch-3.d: New. + * testsuite/gas/i386/x86-64-branch-3.l: Delete. + * testsuite/gas/i386/x86-64-branch-3.s: Add XBEGIN case. + +2019-12-27 Jan Beulich + + * config/tc-i386.c (i386_addressing_mode): Declare. + (match_template): Don't transform displacement width flags for + non-indirect branches. Re-write transformation logic. + (i386_displacement): Also check BaseIndex when deciding whether + an operand belongs to a direct branch. Restrict which DispNN get + set. + (i386_finalize_displacement): Set Disp8 for JumpByte templates. + * config/tc-i386-intel.c (i386_intel_operand): Don't set Disp32 + for 64-bit addressing. + * testsuite/gas/i386/i386.exp: XFail x86-64-branch-3. + +2019-12-17 Alan Modra + + * doc/as.texi: Remove mention of tic80. + +2019-12-12 H.J. Lu + + PR gas/25274 + * config/tc-i386.c (optimize_encoding): Also check R12-R15 + registers for "test $imm7, %r64/%r32/%r16 -> test $imm7, %r8" + optimization. + * testsuite/gas/i386/x86-64-optimize-3.s: Add tests for test + with r12. + * testsuite/gas/i386/x86-64-optimize-3.d: Updated. + * testsuite/gas/i386/x86-64-optimize-3b.d: Likewise. + +2019-12-12 H.J. Lu + + * testsuite/gas/i386/align-branch-1.s: New file. + * testsuite/gas/i386/align-branch-1a.d: Likewise. + * testsuite/gas/i386/align-branch-1b.d: Likewise. + * testsuite/gas/i386/align-branch-1c.d: Likewise. + * testsuite/gas/i386/align-branch-1d.d: Likewise. + * testsuite/gas/i386/align-branch-1e.d: Likewise. + * testsuite/gas/i386/align-branch-1f.d: Likewise. + * testsuite/gas/i386/align-branch-1g.d: Likewise. + * testsuite/gas/i386/align-branch-1h.d: Likewise. + * testsuite/gas/i386/align-branch-2.s: Likewise. + * testsuite/gas/i386/align-branch-2a.d: Likewise. + * testsuite/gas/i386/align-branch-2b.d: Likewise. + * testsuite/gas/i386/align-branch-2c.d: Likewise. + * testsuite/gas/i386/align-branch-3.d: Likewise. + * testsuite/gas/i386/align-branch-3.s: Likewise. + * testsuite/gas/i386/align-branch-4.s: Likewise. + * testsuite/gas/i386/align-branch-4a.d: Likewise. + * testsuite/gas/i386/align-branch-4b.d: Likewise. + * testsuite/gas/i386/align-branch-5.d: Likewise. + * testsuite/gas/i386/align-branch-5.s: Likewise. + * testsuite/gas/i386/align-branch-6.d: Likewise. + * testsuite/gas/i386/align-branch-6.s: Likewise. + * testsuite/gas/i386/align-branch-7.d: Likewise. + * testsuite/gas/i386/align-branch-7.s: Likewise. + * testsuite/gas/i386/align-branch-8.d: Likewise. + * testsuite/gas/i386/align-branch-8.s: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1.s: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1e.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1f.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-1h.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-2.s: Likewise. + * testsuite/gas/i386/x86-64-align-branch-2a.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-2b.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-2c.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-3.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-3.s: Likewise. + * testsuite/gas/i386/x86-64-align-branch-4.s: Likewise. + * testsuite/gas/i386/x86-64-align-branch-4a.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-4b.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-5.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-6.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-7.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-7.s: Likewise. + * testsuite/gas/i386/x86-64-align-branch-8.d: Likewise. + * testsuite/gas/i386/x86-64-align-branch-8.s: Likewise. + * testsuite/gas/i386/i386.exp: Run new tests. + +2019-12-12 H.J. Lu + + * config/tc-i386.c (OPTION_MBRANCHES_WITH_32B_BOUNDARIES): New. + (md_longopts): Add -mbranches-within-32B-boundaries. + (md_parse_option): Handle -mbranches-within-32B-boundaries. + (md_show_usage): Add -mbranches-within-32B-boundaries. + +2019-12-12 H.J. Lu + + * config/tc-i386.c (_i386_insn): Add has_gotpc_tls_reloc. + (tls_get_addr): New. + (last_insn): New. + (align_branch_power): New. + (align_branch_kind): New. + (align_branch_bit): New. + (align_branch): New. + (MAX_FUSED_JCC_PADDING_SIZE): New. + (align_branch_prefix_size): New. + (BRANCH_PADDING): New. + (BRANCH_PREFIX): New. + (FUSED_JCC_PADDING): New. + (i386_generate_nops): Support BRANCH_PADDING and FUSED_JCC_PADDING. + (md_begin): Abort if align_branch_prefix_size < + MAX_FUSED_JCC_PADDING_SIZE. + (md_assemble): Set last_insn. + (maybe_fused_with_jcc_p): New. + (add_fused_jcc_padding_frag_p): New. + (add_branch_prefix_frag_p): New. + (add_branch_padding_frag_p): New. + (output_insn): Generate a BRANCH_PADDING, FUSED_JCC_PADDING or + BRANCH_PREFIX frag and terminate each frag to align branches. + (output_disp): Set i.has_gotpc_tls_reloc to TRUE for GOTPC and + relaxable TLS relocations. + (output_imm): Likewise. + (i386_next_non_empty_frag): New. + (i386_next_jcc_frag): New. + (i386_classify_machine_dependent_frag): New. + (i386_branch_padding_size): New. + (i386_generic_table_relax_frag): New. + (md_estimate_size_before_relax): Handle COND_JUMP_PADDING, + FUSED_JCC_PADDING and COND_JUMP_PREFIX frags. + (md_convert_frag): Handle BRANCH_PADDING, BRANCH_PREFIX and + FUSED_JCC_PADDING frags. + (OPTION_MALIGN_BRANCH_BOUNDARY): New. + (OPTION_MALIGN_BRANCH_PREFIX_SIZE): New. + (OPTION_MALIGN_BRANCH): New. + (md_longopts): Add -malign-branch-boundary=, + -malign-branch-prefix-size= and -malign-branch=. + (md_parse_option): Handle -malign-branch-boundary=, + -malign-branch-prefix-size= and -malign-branch=. + (md_show_usage): Display -malign-branch-boundary=, + -malign-branch-prefix-size= and -malign-branch=. + (i386_target_format): Set tls_get_addr. + (i386_cons_align): New. + * config/tc-i386.h (i386_cons_align): New. + (md_cons_align): New. + (i386_generic_table_relax_frag): New. + (md_generic_table_relax_frag): New. + (i386_tc_frag_data): Add u, padding_address, length, + max_prefix_length, prefix_length, default_prefix, cmp_size, + classified and branch_type. + (TC_FRAG_INIT): Initialize u, padding_address, length, + max_prefix_length, prefix_length, default_prefix, cmp_size, + classified and branch_type. + * doc/c-i386.texi: Document -malign-branch-boundary=, + -malign-branch= and -malign-branch-prefix-size=. + +2019-12-12 H.J. Lu + + * write.c (md_generic_table_relax_frag): New. Defined to + relax_frag if not defined. + (relax_segment): Call md_generic_table_relax_frag instead of + relax_frag. + +2019-12-12 Alan Modra + + * config/tc-aarch64.c (get_aarch64_insn): Avoid signed overflow. + * config/tc-metag.c (parse_dalu): Likewise. + * config/tc-tic4x.c (md_pcrel_from): Likewise. + * config/tc-tic6x.c (tic6x_output_unwinding): Likewise. + * config/tc-csky.c (parse_fexp): Use an unsigned char temp buffer. + Don't use register keyword. Avoid signed overflow and remove now + unneccesary char masks. Formatting. + * config/tc-ia64.c (operand_match): Don't use shifts to sign extend. + * config/tc-mep.c (mep_apply_fix): Likewise. + * config/tc-pru.c (md_apply_fix): Likewise. + * config/tc-riscv.c (load_const): Likewise. + * config/tc-nios2.c (md_apply_fix): Likewise. Don't potentially + truncate fixup before right shift. Tidy BFD_RELOC_NIOS2_HIADJ16 + calculation. + +2019-12-12 Alan Modra + + * config/obj-evax.c (crc32, encode_32, encode_16, decode_16): + Remove unnecessary prototypes. + (number_of_codings): Delete, use ARRAY_SIZE instead throughout. + (codings, decodings): Make arrays of unsigned char. + (crc32): Use unsigned variables. Delete unnecessary mask. + (encode_32, encode_16): Return unsigned char*, and make static + buffer an unsigned char array. + (decode_16): Make arg an unsigned char*. Remove useless casts. + (shorten_identifier): Use unsigned char crc_chars. + (is_truncated_identifier): Make ptr an unsigned char*. + +2019-12-11 Wilco Dijkstra + + * config/tc-arm.c (warn_on_restrict_it): Add new variable. + (it_fsm_post_encode): Check warn_on_restrict_it. + (arm_option_table): Add -mwarn-restrict-it/-mno-warn-restrict-it. + * testsuite/gas/arm/armv8-2-fp16-scalar-bad.d: Add -mwarn-restrict-it. + * testsuite/gas/arm/armv8-2-fp16-scalar-bad-ext.d: Likewise. + * testsuite/gas/arm/armv8-a-bad.d: Likewise. + * testsuite/gas/arm/armv8-a-it-bad.d: Likewise. + * testsuite/gas/arm/armv8-r-bad.d: Likewise. + * testsuite/gas/arm/armv8-r-it-bad.d: Likewise. + * testsuite/gas/arm/sp-pc-validations-bad-t-v8a.d: Likewise. + * testsuite/gas/arm/udf.d: Likewise. + +2018-12-11 Jan Beulich + + * config/tc-i386.c (md_assemble): Extend SSE check conditional. + * testsuite/gas/i386/sse-check.s: Add SSE4a and SHA tests. + Extend GFNI tests. + * testsuite/gas/i386/sse-check.d: Adjust expectations. + * testsuite/gas/i386/sse-check-error.l, + testsuite/gas/i386/x86-64-sse-check-error.l: Likewise. + * testsuite/gas/i386/sse-check-warn.e: Likewise. + +2019-12-10 Vladimir Murzin + + * config/tc-arm.c (s_arm_arch): Set selected_ctx_ext_table. + * testsuite/gas/arm/mve-arch-ext.s: New. + * testsuite/gas/arm/mve-arch-ext.d: New. + +2019-12-09 Jan Beulich + + * config/tc-i386-intel.c (O_oword_ptr): Move. + (O_xmmword_ptr): Alias to O_oword_ptr. + (O_fword_ptr, O_tbyte_ptr, O_ymmword_ptr, O_zmmword_ptr): Adjust + expansion. + (i386_intel_simplify, i386_intel_operand): Fold O_oword_ptr and + O_xmmword_ptr cases, leaving comments. + +2019-12-09 Jan Beulich + + * config/tc-i386-intel.c (O_mmword_ptr): Define. + (i386_types): Add mmword entry. + (i386_intel_simplify, i386_intel_operand): Add comment. + * testsuite/gas/i386/intel-expr.s: Also test mmword and zmmword. + * testsuite/gas/i386/intelok.s: Also test "mmword ptr". + * testsuite/gas/i386/intel-expr.d, testsuite/gas/i386/intelok.d, + testsuite/gas/i386/intelok.e: Adjust expectations. + +2019-12-09 Jan Beulich + + * config/tc-i386-intel.c (i386_intel_operand): Set "byte" + attribute suffix instead of suffix for floating point insns when + handling O_near_ptr / O_far_ptr. + * testsuite/gas/i386/intelbad.s: Add FPU tests. + * testsuite/gas/i386/intelbad.l: Adjust expectations. + +2019-12-09 Jan Beulich + + * config/tc-i386-intel.c (i386_intel_operand): Set "byte" + attribute suffix instead of suffix uniformly for insns not + possibly accepting "tbyte ptr" explicitly. + +2019-12-09 Jan Beulich + + * config/tc-i386-intel.c (i386_intel_operand): Don't set suffix + for floating point insns when handling O_fword_ptr. + +2019-12-09 Jan Beulich + + * config/tc-i386-intel.c (i386_intel_operand): Don't special + case LDS et al when handling O_word_ptr. + +2019-12-08 Alan Modra + + * testsuite/gas/aarch64/bfloat16.d: Match 32-bit and 64-bit output. + * testsuite/gas/aarch64/dgh.d: Likewise. + * testsuite/gas/aarch64/f32mm.d: Likewise. + * testsuite/gas/aarch64/f64mm.d: Likewise. + * testsuite/gas/aarch64/i8mm.d: Likewise. + * testsuite/gas/aarch64/pac_ab_key.d: Likewise. + * testsuite/gas/aarch64/pac_negate_ra_state.d: Likewise. + * testsuite/gas/aarch64/reloc-prel_g0.d: Likewise. + * testsuite/gas/aarch64/reloc-prel_g0_nc.d: Likewise. + * testsuite/gas/aarch64/reloc-prel_g1.d: Likewise. + * testsuite/gas/aarch64/sve-bfloat-movprfx.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx-mm.d: Likewise. + * testsuite/gas/aarch64/sve2.d: Likewise. + +2019-12-06 Kyrylo Tkachov + + * dw2gencfi.c (cfi_pseudo_table): Add cfi_negate_ra_state. + * testsuite/gas/aarch64/pac_negate_ra_state.s: New file. + * testsuite/gas/aarch64/pac_negate_ra_state.d: Likewise. + +2019-12-05 Jan Beulich + + * config/tc-aarch64.c (aarch64_features): Drop redundant AES and + SHA2 flags from "crypto" entry. + +2019-12-05 Jan Beulich + + * config/tc-aarch64.c (aarch64_features): Make SHA2 a prereq of + SHA3. + * testsuite/gas/aarch64/crypto.s + * testsuite/gas/aarch64/crypto-directive.d: Refer to crypto.d + for actual output. + * testsuite/gas/aarch64/illegal-crypto-nofp.l: Relax + expectations. + * testsuite/gas/aarch64/crypto-directive2.d, + testsuite/gas/aarch64/crypto-directive3.d: New. + +2019-12-04 Jan Beulich + + * config/tc-i386-intel.c (i386_intel_operand): Handle LFS et al + as well as LGDT at al when processing O_tbyte_ptr. + * testsuite/gas/i386/intelbad.s: Add LDS et al cases. + * testsuite/gas/i386/x86-64-intel64.s, + * testsuite/gas/i386/x86-64-opcode.s: Add LFS et al cases. + * testsuite/gas/i386/ilp32/x86-64-intel64.d: Add -mintel64 + command line option and fold expectations with parent dir test. + * testsuite/gas/i386/x86-64-intel64.d: Add -mintel64 command + line option and adjust expectations. + * testsuite/gas/i386/intelbad.l, + testsuite/gas/i386/x86-64-opcode.d: Adjust expectations. + +2019-12-04 Jan Beulich + + * config/tc-i386-intel.c (i386_intel_operand): Also handle DWORD + with 64-bit mode branches. + * testsuite/gas/i386/x86-64-jump.s: Extend Intel syntax branch + operand coverage. + * testsuite/gas/i386/x86-64-jump.d: Adjust expectations. + +2019-12-04 Jan Beulich + + * config/tc-i386.c (output_insn): Don't consider Cpu* settings + when setting GNU_PROPERTY_X86_FEATURE_2_MMX. + +2019-12-04 Jan Beulich + + * testsuite/gas/i386/movdir.s: Add Intel syntax case with + operand size specifier. + * testsuite/gas/i386/x86-64-movdir.s: Add Intel syntax cases + with operand size specifier and wit 32-bit operands. + * testsuite/gas/i386/movdir-intel.d, + testsuite/gas/i386/movdir.d, + testsuite/gas/i386/x86-64-movdir-intel.d, + testsuite/gas/i386/x86-64-movdir.d: Adjust expectations. + +2019-12-04 Jan Beulich + + * config/tc-i386.c (process_suffix): Arrange for insns with a + single non-GPR register operand to not have its suffix guessed + from GPR operands. Extend DefaultSize handling to cover PUSH/POP + of segment registers. + * testsuite/gas/i386/general.s: Add PUSH/POP sreg to .code16gcc + set of insns. + * testsuite/gas/i386/general.l: Adjust expectations. + +2019-12-04 Jan Beulich + + * config/tc-i386.c (process_suffix): Exclude SYSRET alongside + FLDENV et al. + * testsuite/gas/i386/general.s: Expand .code16gcc set of insns. + * testsuite/gas/i386/general.l: Adjust expectations. + +2019-11-22 Andrew Burgess + + * as.c (flag_dwarf_cie_version): Change initial value to -1, and + update comment. + * config/tc-riscv.c (riscv_after_parse_args): Set + flag_dwarf_cie_version if it has not already been set. + * dwarf2dbg.c (dwarf2_init): Initialise flag_dwarf_cie_version if + needed. + * testsuite/gas/riscv/default-cie-version.d: New file. + * testsuite/gas/riscv/default-cie-version.s: New file. + +2019-11-22 Andrew Burgess + + * dw2gencfi.c (output_cie): Error on return column overflow. + * testsuite/gas/riscv/cie-rtn-col-1.d: New file. + * testsuite/gas/riscv/cie-rtn-col-3.d: New file. + * testsuite/gas/riscv/cie-rtn-col.s: New file. + +2019-11-22 Andrew Burgess + + * config/tc-riscv.c (tc_riscv_regname_to_dw2regnum): Lookup CSR + names too. + * testsuite/gas/riscv/csr-dw-regnums.d: New file. + * testsuite/gas/riscv/csr-dw-regnums.s: New file. + +2019-11-22 Andrew Burgess + + * config/tc-riscv.c (struct regname): Delete. + (hash_reg_names): Handle value as 'void *'. + +2019-11-25 Andrew Pinski + + * config/tc-aarch64.c (md_begin): Use correct + hash table for uppercase version of hint. + * testsuite/gas/aarch64/system-2.s: Extend psb case to uppercase. + * testsuite/gas/aarch64/system-2.d: Update. + +2019-11-25 Christian Eggers + + * as.h: Define SEC_OCTETS as SEC_ELF_OCTETS if OBJ_ELF. + * dwarf2dbg.c: (dwarf2_finish): Set section flag SEC_OCTETS for + .debug_line, .debug_info, .debug_abbrev, .debug_aranges, .debug_str + and .debug_ranges sections. + * write.c (maybe_generate_build_notes): Set section flag + SEC_OCTETS for .gnu.build.attributes section. + * frags.c (frag_now_fix): Don't divide by OCTETS_PER_BYTE if + SEC_OCTETS is set. + * symbols.c (resolve_symbol_value): Likewise. + +2019-11-25 Christian Eggers + + * dwarf2dbg.c (out_set_addr): Revert 2019-03-13 change. + (out_debug_line, out_debug_aranges, out_debug_info): Likewise. + * symbols.h (symbol_set_value_now_octets, symbol_octets_p): Remove. + * symbols.c (struct symbol_flags): Remove member sy_octets. + (symbol_temp_new_now_octets): Don't set symbol_flags::sy_octets. + (resolve_symbol_value): Revert: Return octets instead of bytes if + sy_octets is set. + (symbol_set_value_now_octets): Remove. + (symbol_octets_p): Remove. + +2019-11-22 Mihail Ionescu + + * config/tc-arm.c (arm_ext_crc): New. + (crc_ext_armv8): Remove. + (insns): Rename crc_ext_armv8 to arm_ext_crc. + (arm_cpus): Replace CRC_EXT_ARMV8 with ARM_EXT2_CRC. + (armv8a_ext_table, armv8r_ext_table, + arm_option_extension_value_table): Redefine the crc + extension in terms of ARM_EXT2_CRC. + * gas/testsuite/gas/arm/crc-ext.s: New. + * gas/testsuite/gas/arm/crc-ext.d: New. + +2019-11-20 Alan Modra + + PR 24944 + * atof-generic.c (atof_generic): Increase decimal guard digits. + * testsuite/gas/i386/fp.s: Add more tests. + * testsuite/gas/i386/fp.d: Update. + +2019-11-18 Andrew Burgess + + * as.c (parse_args): Parse --gdwarf-cie-version option. + (flag_dwarf_cie_version): New variable. + * as.h (flag_dwarf_cie_version): Declare. + * dw2gencfi.c (output_cie): Switch from DW_CIE_VERSION to + flag_dwarf_cie_version. + * doc/as.texi (Overview): Document --gdwarf-cie-version. + * NEWS: Likewise. + * testsuite/gas/cfi/cfi.exp: Add new tests. + * testsuite/gas/cfi/cie-version-0.d: New file. + * testsuite/gas/cfi/cie-version-1.d: New file. + * testsuite/gas/cfi/cie-version-2.d: New file. + * testsuite/gas/cfi/cie-version-3.d: New file. + * testsuite/gas/cfi/cie-version-4.d: New file. + * testsuite/gas/cfi/cie-version.s: New file. + +2019-11-14 Jan Beulich + + * config/tc-i386.c (operand_size_match, md_assemble, + parse_insn, match_template, process_suffix, output_jump, + output_insn, i386_displacement): Adjust jump* field use/ + handling. + * config/tc-i386-intel.c (i386_intel_operand): Likewise. + +2019-11-14 Jan Beulich + + * config/tc-i386.c (struct _i386_insn): Add jumpabsolute field. + (operand_type_match): Drop jumpabsolute use. + (type_names): Remove OPERAND_TYPE_JUMPABSOLUTE entry. + (process_suffix, i386_displacement): Adjust jumpabsolute uses. + (match_template, i386_att_operand): Adjust jumpabsolute + handling. + * config/tc-i386-intel.c (i386_intel_operand): Likewise. + +2019-11-14 Jan Beulich + + * config/tc-i386.c (operand_size_match): Adjust anysize use. + +2019-11-14 Jan Beulich + + * testsuite/gas/i386/intel-cmps32.d, + testsuite/gas/i386/intel-cmps64.d: Correct regexp closing + parentheses placement. + +2019-11-14 Jan Beulich + + * testsuite/gas/i386/intel-cmps.s, + testsuite/gas/i386/intel-movs.s: Extend. + * testsuite/gas/i386/intel-cmps32.d, + testsuite/gas/i386/intel-cmps64.d, + testsuite/gas/i386/intel-movs32.d, + testsuite/gas/i386/intel-movs64.d: Adjust expectations. + * testsuite/gas/i386/intel-cmps16.d, + testsuite/gas/i386/intel-movs16.d: New. + * testsuite/gas/i386/i386.exp: Run new tests. + +2019-11-12 Nelson Chu + + * testsuite/gas/riscv/insn.d: Add the f extension to -march option. + +2019-11-12 Mihail Ionescu + + * config/tc-arm.c (do_vfp_nsyn_push): Move in order to enable it for + both fpu_vfp_ext_v1xd and mve_ext and add call to the aliased vstm + instruction for mve_ext. + (do_vfp_nsyn_pop): Move in order to enable it for both + fpu_vfp_ext_v1xd and mve_ext and add call to the aliased vldm + instruction for mve_ext. + (do_neon_ldm_stm): Add fpu_vfp_ext_v1 and mve_ext checks. + (insns): Enable vldm, vldmia, vldmdb, vstm, vstmia, vstmdb, vpop, + vpush, and fldd, fstd, flds, fsts for arm_ext_v6t2 instead + of fpu_vfp_ext_v1xd. + * testsuite/gas/arm/v8_1m-mve.s: New. + * testsuite/gas/arm/v8_1m-mve.d: New. + +2019-11-12 Mihail Ionescu + + * gas/config/tc-arm.c (do_neon_mvn): Allow mve_ext cmode=0xd. + * testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.s: New test. + * testsuite/gas/arm/mve-vmov-vmvn-vorr-vbic.d: Likewise. + +2019-11-12 Mihail Ionescu + + * config/tc-arm.c (s_arm_fpu): Clear selected_cpu fpu bits. + (fpu_any): Remove OBJ_ELF guards. + * testsuite/gas/arm/fpu-rst.s: New. + * testsuite/gas/arm/fpu-rst.d: New. + * testsuite/gas/arm/fpu-rst.l: New. + +2019-11-12 Jan Beulich + + * config/tc-i386.c (type_names): Remove OPERAND_TYPE_ESSEG + entry. + (md_assemble): Adjust isstring field use. Add assertion. + (check_string): Mostly re-write. + (i386_index_check): Adjust isstring field use and related code. + +2019-11-12 Jan Beulich + + * config/tc-i386.c (process_immext): Remove SSE3, SVME, and + MWAITX special case logic. + (process_suffix): Replace immext field uses by instance ones. + * testsuite/gas/i386/arch-13.s, + testsuite/gas/i386/x86-64-arch-3.s: Add CLZERO with operand + cases. + * testsuite/gas/i386/svme.s: Add 16-bit operand cases. + * testsuite/gas/i386/x86-64-specific-reg.s: Drop FIXME comments. + * testsuite/gas/i386/arch-13.d, + testsuite/gas/i386/mwaitx-reg.l, testsuite/gas/i386/svme.d, + testsuite/gas/i386/x86-64-arch-3.d, + testsuite/gas/i386/x86-64-mwaitx-reg.l, + testsuite/gas/i386/x86-64-specific-reg.l: Adjust expectations. + +2019-11-12 Jan Beulich + + * config/tc-i386.c (operand_type_set, operand_type_and, + operand_type_and_not, operand_type_or, operand_type_xor): Handle + "instance" field specially. + (operand_size_match, md_assemble, match_template, process_suffix, + check_byte_reg, check_long_reg, check_qword_reg, check_word_reg, + process_operands, build_modrm_byte): Use "instance" instead of + "acc" / "inoutportreg" / "shiftcount" fields. + (optimize_imm): Adjust comment. + +2019-11-11 Jan Beulich + + * testsuite/gas/aarch64/illegal-sve2.s: Add smaxp/sminp cases + with mismatched 1st and 3rd operands. + * testsuite/gas/aarch64/illegal-sve2.l: Adjust expectations. + +2019-11-08 H.J. Lu + + PR gas/25167 + * config/tc-i386.c (match_template): Don't check instruction + suffix set from operand. + * testsuite/gas/i386/code16.d: New file. + * testsuite/gas/i386/code16.s: Likewise. + * testsuite/gas/i386/i386.exp: Run code16. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (optimize_encoding, build_modrm_byte, + check_VecOperations, parse_real_register): Use "class" instead + of "regmask" and "regbnd" fields. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (match_mem_size, operand_size_match, + operand_type_register_match, pi, check_VecOperands, match_template, + check_byte_reg, check_long_reg, check_qword_reg, process_operands, + build_modrm_byte, parse_real_register): Use "class" instead of + "regsimd" / "regmmx" fields. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (pi, check_byte_reg, build_modrm_byte, + parse_real_register): Use "class" instead of "control"/"debug"/ + "test" fields. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (pi, check_byte_reg, process_operands, + build_modrm_byte, i386_att_operand, parse_real_register): Use + "class" instead of "sreg" field. + * config/tc-i386-intel.c (i386_intel_simplify_register, + i386_intel_operand): Likewise. + +2019-11-08 Jan Beulich + + * config/tc-i386.c (operand_type_set, operand_type_and, + operand_type_and_not, operand_type_or, operand_type_xor): Handle + "class" field specially. + (anyimm): New. + (operand_type_check, operand_size_match, + operand_type_register_match, pi, md_assemble, is_short_form, + process_suffix, check_byte_reg, check_long_reg, check_qword_reg, + check_word_reg, process_operands, build_modrm_byte): Use "class" + instead of "reg" field. + (optimize_imm): Likewise. Reduce redundancy. Adjust calculation + of "allowed". + +2019-11-07 Mihail Ionescu + + * testsuite/gas/aarch64/dgh.s: New test. + * testsuite/gas/aarch64/dgh.d: New test. + +2019-11-07 Mihail Ionescu + + * config/tc-arm.c (arm_ext_i8mm): New feature set. + (do_vusdot): New. + (do_vsudot): New. + (do_vsmmla): New. + (do_vummla): New. + (insns): Add vsmmla, vummla, vusmmla, vusdot, vsudot mnemonics. + (armv86a_ext_table): Add i8mm extension. + (arm_extensions): Move bf16 extension to context sensitive table. + (armv82a_ext_table, armv84a_ext_table, armv85a_ext_table): + Move bf16 extension to context sensitive table. + (armv86a_ext_table): Add i8mm extension. + * doc/c-arm.texi: Document i8mm extension. + * testsuite/gas/arm/i8mm.s: New test. + * testsuite/gas/arm/i8mm.d: New test. + * testsuite/gas/arm/bfloat17-cmdline-bad-3.d: Update test. + +2019-11-07 Mihail Ionescu + + * config/tc-aarch64.c: Add new arch fetures to suppport the mm extension. + (parse_operands): Add new operand. + * testsuite/gas/aarch64/i8mm.s: New test. + * testsuite/gas/aarch64/i8mm.d: New test. + * testsuite/gas/aarch64/f32mm.s: New test. + * testsuite/gas/aarch64/f32mm.d: New test. + * testsuite/gas/aarch64/f64mm.s: New test. + * testsuite/gas/aarch64/f64mm.d: New test. + * testsuite/gas/aarch64/sve-movprfx-mm.s: New test. + * testsuite/gas/aarch64/sve-movprfx-mm.d: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Barnaby Wilks + + * config/tc-aarch64.c (md_atof): Add encoding for the bfloat16 format. + * testsuite/gas/aarch64/bfloat16-directive-le.d: New test. + * testsuite/gas/aarch64/bfloat16-directive-be.d: New test. + * testsuite/gas/aarch64/bfloat16-directive.s: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Barnaby Wilks + + * config/tc-arm.c (md_atof): Add encoding for bfloat16 + * testsuite/gas/arm/bfloat16-directive-le.d: New test. + * testsuite/gas/arm/bfloat16-directive-be.d: New test. + * testsuite/gas/arm/bfloat16-directive.s: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Barnaby Wilks + + * as.h (atof_ieee_detail): Add prototype for atof_ieee_detail function. + (atof_ieee): Move some code into the atof_ieee_detail function. + (atof_ieee_detail): Add function that provides a higher level of + control over generating IEEE-like numbers. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * config/tc-arm.c (arm_archs): Add armv8.6-a option. + (cpu_arch_ver): Add TAG_CPU_ARCH_V8 tag for Armv8.6-a. + * doc/c-arm.texi (-march): New armv8.6-a arch. + * config/tc-arm.c (arm_ext_bf16): New feature set. + (enum neon_el_type): Add NT_bfloat value. + (B_MNEM_vfmat, B_MNEM_vfmab): New bfloat16 encoder + helpers. + (BAD_BF16): New message. + (parse_neon_type): Add bf16 type specifier. + (enum neon_type_mask): Add N_BF16 type. + (type_chk_of_el_type): Account for NT_bfloat. + (el_type_of_type_chk): Account for N_BF16. + (neon_three_args): Split out from neon_three_same. + (neon_three_same): Part split out into neon_three_args. + (CVT_FLAVOUR_VAR): Add bf16_f32 cvt flavour. + (do_neon_cvt_1): Account for vcvt.bf16.f32. + (do_bfloat_vmla): New. + (do_mve_vfma): New function to deal with the mnemonic clash between the BF16 + vfmat and the MVE vfma in a VPT block with a 't'rue condition. + (do_neon_cvttb_1): Account for vcvt{t,b}.bf16.f32. + (do_vdot): New + (do_vmmla): New + (insns): Add vdot and vmmla mnemonics. + (arm_extensions): Add "bf16" extension. + * doc/c-arm.texi: Document "bf16" extension. + * testsuite/gas/arm/attr-march-armv8_6-a.d: New test. + * testsuite/gas/arm/bfloat16-bad.d: New test. + * testsuite/gas/arm/bfloat16-bad.l: New test. + * testsuite/gas/arm/bfloat16-bad.s: New test. + * testsuite/gas/arm/bfloat16-cmdline-bad-2.d: New test. + * testsuite/gas/arm/bfloat16-cmdline-bad-3.d: New test. + * testsuite/gas/arm/bfloat16-cmdline-bad.d: New test. + * testsuite/gas/arm/bfloat16-neon.s: New test. + * testsuite/gas/arm/bfloat16-non-neon.s: New test. + * testsuite/gas/arm/bfloat16-thumb-bad.d: New test. + * testsuite/gas/arm/bfloat16-thumb-bad.l: New test. + * testsuite/gas/arm/bfloat16-thumb.d: New test. + * testsuite/gas/arm/bfloat16-vfp.d: New test. + * testsuite/gas/arm/bfloat16.d: New test. + * testsuite/gas/arm/bfloat16.s: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * config/tc-aarch64.c (vectype_to_qualifier): Special case the + S_2H operand qualifier. + * doc/c-aarch64.texi: Document bf16 extension. + * testsuite/gas/aarch64/bfloat16.d: New test. + * testsuite/gas/aarch64/bfloat16.s: New test. + * testsuite/gas/aarch64/illegal-bfloat16.d: New test. + * testsuite/gas/aarch64/illegal-bfloat16.l: New test. + * testsuite/gas/aarch64/illegal-bfloat16.s: New test. + * testsuite/gas/aarch64/sve-bfloat-movprfx.s: New test. + * testsuite/gas/aarch64/sve-bfloat-movprfx.d: New test. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * config/tc-aarch64.c (armv8.6-a): New arch. + * doc/c-aarch64.texi (armv8.6-a): Document new arch. + +2019-11-07 Jan Beulich + + * config/tc-i386.c (cpu_arch): Add .rdpru and .mcommit entries. + * doc/c-i386.texi: Mention rdpru and mcommit. + * testsuite/gas/i386/arch-13.s, + testsuite/gas/i386/x86-64-arch-3.s: Add mcommit and rdpru cases. + * testsuite/gas/i386/arch-13.d, + testsuite/gas/i386/x86-64-arch-3.d: Extend -march=. Adjust + expectations. + * testsuite/gas/i386/arch-13-znver1.d: Extend -march=. Redirect + expectations to arch-13.d. + * testsuite/gas/i386/arch-13-znver2.d: Redirect expectations to + arch-13.d. + testsuite/gas/i386/x86-64-arch-3-znver1.d: Extend -march=. + +2019-11-07 Jan Beulich + + * testsuite/gas/i386/x86-64-arch-3.s: Add monitorx/mwaitx cases + with canonical operand sizes. + * testsuite/gas/i386/x86-64-sse3.s: Add monitor/mwait cases with + canonical operand sizes. + * testsuite/gas/i386/x86-64-arch-3-znver1.d, + testsuite/gas/i386/x86-64-arch-3-znver2.d: Redirect expectations + to x86-64-arch-3.d. + * testsuite/gas/i386/ilp32/x86-64-sse-noavx.d: Redirect + expectations to parent dir's x86-64-sse-noavx.d. + * testsuite/gas/i386/ilp32/x86-64-sse3.d: Redirect expectations + to to parent dir's x86-64-sse3.d. + * testsuite/gas/i386/x86-64-arch-3.d, + testsuite/gas/i386/x86-64-mwaitx-bdver4.d, + testsuite/gas/i386/x86-64-sse-noavx.d, + testsuite/gas/i386/x86-64-sse3.d, + testsuite/gas/i386/x86-64-suffix.d: Adjust expectations. + +2019-11-04 Jan Beulich + + * config/tc-i386.c (process_operands): Handle ShortForm insns + later, splitting out their segment register sub-form. + +2019-10-31 H.J. Lu + + * testsuite/gas/i386/general.s: Add .code16gcc fldenv tests. + * testsuite/gas/i386/general.l: Updated. + +2019-10-31 Mihail Ionescu + + * config/tc-arm.c (selected_ctx_ext_table) New static variable. + (arm_parse_arch): Set context sensitive extension table based on the + chosen base architecture. + (s_arm_arch_extension): Change to lookup extensions in the new context + sensitive tables. + * gas/testsuite/gas/arm/mve-ext.s: New. + * gas/testsuite/gas/arm/mve-ext.d: New. + * gas/testsuite/gas/arm/mvefp-ext.s: New. + * gas/testsuite/gas/arm/mvefp-ext.d: New. + +2019-10-30 Delia Burduv + + * config/tc-aarch64.c (parse_address_main): Accept the omission of + the immediate argument for ldraa and ldrab as a shorthand for the + immediate being 0. + * testsuite/gas/aarch64/ldraa-ldrab-no-offset.d: New test. + * testsuite/gas/aarch64/ldraa-ldrab-no-offset.s: New test. + * testsuite/gas/aarch64/illegal-ldraa.s: Modified to accept the + writeback form with no offset. + * testsuite/gas/aarch64/illegal-ldraa.s: Removed missing offset + error. + +2019-10-30 Jan Beulich + + * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.s, + testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.s, + testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.s: New. + * testsuite/gas/i386/i386.exp: Run new tests. + +2019-10-30 Jan Beulich + + * config/tc-i386.c (optimize_encoding): Adjust opcodes compared + against. Adjust replacement opcode and clear .w. + +2019-10-29 Alan Modra + + PR 25125 + * dw2gencfi.c (output_cfi_insn): Don't allow DW_CFA_advance_loc4 + to be placed in a different frag to the rs_cfa. + +2019-10-26 John David Anglin + + PR gas/25121 + * config/tc-hppa.c (tc_gen_reloc): Cast some enums to int. + (md_assemble): Likewise. + +2019-10-26 Alan Modra + + PR 25125 + * dw2gencfi.c (output_cfi_insn): Don't output DW_CFA_advance_loc+0. + * ehopt.c (eh_frame_estimate_size_before_relax): Return -1 for + an advance_loc of zero. + (eh_frame_relax_frag): Translate fr_subtype of 7 to size -1. + (eh_frame_convert_frag): Handle fr_subtype of 7. Abort on + unexpected fr_subtype. + +2019-10-25 Alan Modra + + PR gas/25125 + PR gas/12049 + * write.c (relax_frag): Correct calculation of delta for + positive branches where "stretch" would make the branch + negative. Return zero immediately in that case. Correct + TC_PCREL_ADJUST comment. + +2019-10-16 Alan Modra + + * config/tc-xtensa.c (xg_order_trampoline_chain_entry): Don't + call S_GET_VALUE multiple times for a symbol. Rearrange code + so it is obvious what is the primary sort key. + (xg_order_trampoline_chain): Similarly. + +2019-10-15 Alan Modra + + * config/tc-nds32.c (nds32_set_section_relocs): Use relocs and n + parameters rather than equivalent sec->orelocation and + sec->reloc_count. Don't sort for n <= 1. Tidy. + +2019-10-09 Nick Clifton + + PR 25041 + * testsuite/gas/avr/pr25041.s: New test. + * testsuite/gas/avr/pr25041.d: New test driver. + +2019-10-07 Jozef Lawrynowicz + + * config/tc-msp430.c (md_parse_option): Set lower_data_region_only + to FALSE if the data region is set to "upper", "either" or "none". + (msp430_object_attribute): New. + (md_pseudo_table): Handle .mspabi_attribute and .gnu_attribute. + (msp430_md_end): Replace hard-coded attribute values with enums. + Handle data region object attribute. + * doc/as.texi: Document MSP430 Data Region object attribute. + * doc/c-msp430.texi: Document the .mspabi_attribute directive. + * testsuite/gas/msp430/attr-430-small-bad.d: New test. + * testsuite/gas/msp430/attr-430-small-bad.l: New test. + * testsuite/gas/msp430/attr-430-small-good.d: New test. + * testsuite/gas/msp430/attr-430-small.s: New test. + * testsuite/gas/msp430/attr-430x-large-any-bad.d: New test. + * testsuite/gas/msp430/attr-430x-large-any-bad.l: New test. + * testsuite/gas/msp430/attr-430x-large-any-good.d: New test. + * testsuite/gas/msp430/attr-430x-large-any.s: New test. + * testsuite/gas/msp430/attr-430x-large-lower-bad.d: New test. + * testsuite/gas/msp430/attr-430x-large-lower-bad.l: New test. + * testsuite/gas/msp430/attr-430x-large-lower-good.d: New test. + * testsuite/gas/msp430/attr-430x-large-lower.s: New test. + * testsuite/gas/msp430/msp430.exp: Run new tests. + +2019-10-07 Jan Beulich + + * config/tc-i386.c (check_string): Make reported operand number + depend on Intel syntax. + * testsuite/gas/i386/intel-cmps.s, + testsuite/gas/i386/intel-cmps32.d, + testsuite/gas/i386/intel-cmps64.d: New. + * testsuite/gas/i386/i386.exp: Run new tests. + * testsuite/gas/i386/intel-movs.s: Extend. + * testsuite/gas/i386/intel-movs32.d, + testsuite/gas/i386/intel-movs64.d: Adjust expectations. + * testsuite/gas/i386/string-bad.l: Tighten expectations. + +2019-09-24 Tamar Christina + + PR gas/24991 + * config/tc-arm.c (out_of_range_p): New. + (md_apply_fix): Use it in BFD_RELOC_THUMB_PCREL_BRANCH9, + BFD_RELOC_THUMB_PCREL_BRANCH12, BFD_RELOC_THUMB_PCREL_BRANCH20, + BFD_RELOC_THUMB_PCREL_BRANCH23, BFD_RELOC_THUMB_PCREL_BRANCH25 + * testsuite/gas/arm/pr24991.d: New test. + * testsuite/gas/arm/pr24991.l: New test. + * testsuite/gas/arm/pr24991.s: New test. + +2019-09-23 Alan Modra + + * config/obj-ecoff.c: Include ecoff-bfd.h. + * config/obj-elf.c: Likewise. + +2019-09-23 Alan Modra + + * config/tc-arm.c: Include cpu-arm.h. + +2019-09-21 Alan Modra + + * config/tc-i386.c (md_parse_option): Fix warning on vexwig assignment. + +2019-09-20 Alan Modra + + * config/tc-tic6x.c (tc_gen_reloc): Correct common symbol check. + +2018-09-20 Jan Beulich + + PR gas/25012 + * config/tc-i386.c (process_operands): Adjust handling of + PUSH/POP of segment registers. + * testsuite/gas/i386/x86-64-opcode.s: Add PUSHq/POPq case with + %fs/%gs operands. Add PUSHF/POPF case without suffix. + * testsuite/gas/i386/x86-64-opcode.d: Adjust expectations. + +2019-09-19 Matthew Malcomson + + * NEWS: Add SVE2 and TME entries. + +2019-09-18 Alan Modra + + * as.c, * as.h, * dw2gencfi.c, * dwarf2dbg.c, * ecoff.c, + * read.c, * stabs.c, * subsegs.c, * subsegs.h, * write.c, + * config/obj-coff-seh.c, * config/obj-coff.c, * config/obj-ecoff.c, + * config/obj-elf.c, * config/obj-macho.c, * config/obj-som.c, + * config/tc-aarch64.c, * config/tc-alpha.c, * config/tc-arc.c, + * config/tc-arm.c, * config/tc-avr.c, * config/tc-bfin.c, + * config/tc-bpf.c, * config/tc-d10v.c, * config/tc-d30v.c, + * config/tc-epiphany.c, * config/tc-fr30.c, * config/tc-frv.c, + * config/tc-h8300.c, * config/tc-hppa.c, * config/tc-i386.c, + * config/tc-ia64.c, * config/tc-ip2k.c, * config/tc-iq2000.c, + * config/tc-lm32.c, * config/tc-m32c.c, * config/tc-m32r.c, + * config/tc-m68hc11.c, * config/tc-mep.c, * config/tc-microblaze.c, + * config/tc-mips.c, * config/tc-mmix.c, * config/tc-mn10200.c, + * config/tc-mn10300.c, * config/tc-msp430.c, * config/tc-mt.c, + * config/tc-nds32.c, * config/tc-or1k.c, * config/tc-ppc.c, + * config/tc-pru.c, * config/tc-rl78.c, * config/tc-rx.c, + * config/tc-s12z.c, * config/tc-s390.c, * config/tc-score.c, + * config/tc-score7.c, * config/tc-sh.c, * config/tc-sparc.c, + * config/tc-spu.c, * config/tc-tic4x.c, * config/tc-tic54x.c, + * config/tc-tic6x.c, * config/tc-tilegx.c, * config/tc-tilepro.c, + * config/tc-v850.c, * config/tc-visium.c, * config/tc-wasm32.c, + * config/tc-xc16x.c, * config/tc-xgate.c, * config/tc-xstormy16.c, + * config/tc-xtensa.c, * config/tc-z8k.c: Update throughout for + bfd section macro and function changes. + * write.c (compress_debug): Use bfd_rename_section. + +2019-09-18 Alan Modra + + * symbols.c (S_IS_LOCAL): Update bfd_get_section to + bfd_asymbol_section. + +2019-09-18 Simon Marchi + + * Makefile.in: Re-generate. + * configure: Re-generate. + * doc/Makefile.in: Re-generate. + +2019-09-17 Maxim Blinov + + * config/tc-riscv.c (riscv_multi_subset_supports): Handle + insn_class enum rather than subset char string. + (riscv_ip): Update call to riscv_multi_subset_supports. + +2019-09-16 Phil Blundell + + * Makefile.in, configure, doc/Makefile.in: Regenerated. + +2019-09-10 Nick Clifton + + PR 24907 + * testsuite/gas/arm/pr24907.s: New test. + * testsuite/gas/arm/pr24907.d: Expected disassembly. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-09-05 Alan Modra + + * config/tc-ppc.c (ppc_elf_suffix): Display the relocation + operator on GOT reloc warnings/errors. + +2019-08-27 Srinath Parvathaneni + + * config/tc-arm.c (parse_neon_mov): Add check to accept vector + register to both the arguments in VMOV instruction. + * testsuite/gas/arm/mve-vmov-1.d: Modify. + * testsuite/gas/arm/mve-vmov-1.s: Likewise. + * testsuite/gas/arm/mve-vorr.d: Likewise. + +2019-08-23 Nick Clifton + + * po/sv.po: Updated Swedish translation. + +2019-08-22 Dennis Zhang + + * config/tc-arm.c: New entries for Cortex-M35P, Cortex-A77, + and Cortex-A76AE. + * doc/c-arm.texi: Document new processors. + * testsuite/gas/arm/cpu-cortex-a76ae.d: New test. + * testsuite/gas/arm/cpu-cortex-a77.d: New test. + * testsuite/gas/arm/cpu-cortex-m35p.d: New test. + +2019-08-22 Bosco García + Nick Clifton + + * atof-generic.c (atof_generic): Do not ignore leading zeros if + they appear after a decimal point. + * testsuite/gas/all/float.s: Extend test to include a number with + a leading decimal point followed by several zeroes. + * testsuite/gas/i386/fp.s: Likewise. + * testsuite/gas/i386/fp.d: Update expected output. + +2019-08-22 Barnaby Wilks + + * config/tc-aarch64.c: Add float16 directive and add "Hh" to + acceptable float characters. + * doc/c-aarch64.texi: Documentation for float16 directive. + * testsuite/gas/aarch64/float16-be.d: New test. + * testsuite/gas/aarch64/float16-le.d: New test. + * testsuite/gas/aarch64/float16.s: New test. + * NEWS: Add NEWS entry. + +2019-08-22 Kyrylo Tkachov + + * testsuite/gas/aarch64/sysreg-4.d: Update expected disassembly for + tfsre0_el1, tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12 system registers. + +2019-08-20 Dennis Zhang + + * NEWS: Mention the Arm and AArch64 new processors. + * config/tc-aarch64.c: New entries for Cortex-A34, Cortex-A65, + Cortex-A77, cortex-A65AE, and Cortex-A76AE. + * doc/c-aarch64.texi: Document new CPUs. + * testsuite/gas/aarch64/cpu-cortex-a34.d: New test. + * testsuite/gas/aarch64/cpu-cortex-a65.d: New test. + * testsuite/gas/aarch64/cpu-cortex-a65ae.d: New test. + * testsuite/gas/aarch64/cpu-cortex-a76ae.d: New test. + * testsuite/gas/aarch64/cpu-cortex-a77.d: New test. + * testsuite/gas/aarch64/nop-asm.s: New test. + +2019-08-19 Faraz Shahbazker + + * config/tc-mips.c (fix_bad_misaligned_address): New function. + (fix_validate_branch): Call fix_bad_misaligned address_to + calculate the target address. + (md_apply_fix): Likewise. + (md_convert_frag): Update misaligned address calculation to + disregard ISA mode bit. + +2019-08-19 Faraz Shahbazker + + * config/tc-mips.c (mips_move_labels): Retain ISA mode bit + when moving labels in text segments. + (mips_align): Indicate text mode when aligning labels in + text segments. + * gas/testsuite/gas/mips/insn-isa-mode.d: New test. + * gas/testsuite/gas/mips/insn-isa-mode.s: New test source. + * gas/testsuite/gas/mips/mips.exp: Run the new test. + +2019-08-19 Barnaby Wilks + + * config/tc-arm.c (md_atof): Add precision check. Formatting. + +2019-08-15 Nick Clifton + + * po/sv.po: Updated Swedish translation. + +2019-08-12 Srinath Parvathaneni + + * config/tc-arm.c (enum operand_parse_code): Add the entry OP_I48_I64. + (po_imm1_or_imm2_or_fail): Marco to check the immediate is either of + 48 or 64. + (parse_operands): Add case OP_I48_I64. + (do_mve_scalar_shift1): Add function to encode the MVE shift + instructions with 4 arguments. + * testsuite/gas/arm/mve-shift-bad.l: Modify. + * testsuite/gas/arm/mve-shift-bad.s: Likewise. + * testsuite/gas/arm/mve-shift.d: Likewise. + * testsuite/gas/arm/mve-shift.s: Likewise. + +2019-08-12 Barnaby Wilks + + * config/tc-arm.c (enum fp_16bit_format): Add enum to represent the 2 float16 encodings. + (md_atof): Set precision for float16 type. + (arm_is_largest_exponent_ok): Check for whether to encode with the IEEE or alternative + format. + (set_fp16_format): Parse a float16_format directive. + (arm_parse_fp16_opt): Parse the fp16-format command line option. + (aeabi_set_public_attributes): For ELF encode the FP16 format EABI attribute. + * config/tc-arm.h (TC_LARGEST_EXPONENT_IS_NORMAL): Macro that expands to + arm_is_largest_exponent_ok. + (arm_is_largest_exponent_ok): Add prototype for arm_is_largest_exponent_ok function. + * doc/c-arm.texi: Add documentation for .float16, .float16_format and -mfp16-format= + * testsuite/gas/arm/float16-bad.d: New test. + * testsuite/gas/arm/float16-bad.l: New test. + * testsuite/gas/arm/float16-bad.s: New test. + * testsuite/gas/arm/float16-be.d: New test. + * testsuite/gas/arm/float16-format-bad.d: New test. + * testsuite/gas/arm/float16-format-bad.l: New test. + * testsuite/gas/arm/float16-format-bad.s: New test. + * testsuite/gas/arm/float16-format-opt-bad.d: New test. + * testsuite/gas/arm/float16-format-opt-bad.l: New test. + * testsuite/gas/arm/float16-le.d: New test. + * testsuite/gas/arm/float16.s: New test. + * testsuite/gas/arm/float16-eabi-alternative-format.d: New test. + * testsuite/gas/arm/float16-eabi-ieee-format.d: New test. + * testsuite/gas/arm/float16-eabi-no-format.d: New test. + * testsuite/gas/arm/float16-eabi.s: New test. + +2019-08-12 Barnaby Wilks + + * config/atof-ieee.c (H_PRECISION): Macro for precision of float16 + type. + (atof_ieee): Set precision and exponent bits for encoding float16 + types. + (gen_to_words): NaN and Infinity encoding for float16. + (ieee_md_atof): Set precision for encoding float16 type. + +2019-08-12 Alan Modra + + PR 24851 + * config/tc-epiphany.c (md_estimate_size_before_relax): Clear + extra opcode bytes when changing from a 2-byte to a 4-byte insn. + +2019-08-09 Jan Beulich + + * testsuite/gas/i386/ilp32/x86-64-simd-intel.d, + testsuite/gas/i386/ilp32/x86-64-simd-suffix.d, + testsuite/gas/i386/ilp32/x86-64-simd.d: Redirect to parent dir + output expectations. + * testsuite/gas/i386/x86-64-simd-intel.d, + testsuite/gas/i386/x86-64-simd-suffix.d, + testsuite/gas/i386/x86-64-simd.d: Don't hard-code hex addresses + and symbol-relative offsets. + +2019-08-08 Nick Clifton + + PR 24887 + * testsuite/gas/i386/property-1.d: Adjust for new output format + from readelf. + * testsuite/gas/i386/property-2.d: Likewise. + * testsuite/gas/i386/x86-64-property-1.d: Likewise. + * testsuite/gas/i386/x86-64-property-2.d: Likewise. + +2019-08-08 Yoshinori Sato + + * testsuite/gas/h8300/h8300.exp: Fix movfpe and movtpe tests. + * testsuite/gas/h8300/misc.s: Likewise. + * testsuite/gas/h8300/misch.s: Likewise. + * testsuite/gas/h8300/miscs.s: Likewise. + +2019-08-05 Barnaby Wilks + + * config/tc-arm.c (do_mve_vqdmlah): Use N_S_32 macro. + (do_neon_qrdmlah): Use N_S_32 macro. + * testsuite/gas/arm/mve-vqdmlah-bad.d: New test. + * testsuite/gas/arm/mve-vqdmlah-bad.l: New test. + * testsuite/gas/arm/mve-vqdmlah-bad.s: New test. + * testsuite/gas/arm/mve-vqdmlah.d: Remove unsigned instruction tests. + * testsuite/gas/arm/mve-vqdmlah.s: Remove unsigned instruction tests. + * testsuite/gas/arm/mve-vqdmlash-bad.d: New test. + * testsuite/gas/arm/mve-vqdmlash-bad.l: New test. + * testsuite/gas/arm/mve-vqdmlash-bad.s: New test. + * testsuite/gas/arm/mve-vqdmlash.d: Remove unsigned instruction tests. + * testsuite/gas/arm/mve-vqdmlash.s: Remove unsigned instruction tests. + +2019-07-30 Mel Chen + + * testsuite/gas/riscv/alias-csr.s: Add testcase for CSR-access + alias instructions. + * testsuite/gas/riscv/no-aliases-csr.d: Run testcase alias-csr.s with + -Mno-aliases. + + * testsuite/gas/riscv/alias-csr.d: Run testcase alias-csr.s. + * testsuite/gas/riscv/priv-reg.d: Update. + +2019-07-24 Nick Clifton + + * po/sv.po: Updated Swedish translation. + +2019-07-24 Claudiu Zissulescu + + * testsuite/gas/arc/nps400-6.d: Update test. + +2019-07-24 Alan Modra + + * config/obj-elf.c (obj_elf_section, obj_elf_type): Set has_gnu_osabi. + * testsuite/gas/elf/section12a.d: Update xfails. + * testsuite/gas/elf/section12b.d: Likewise. + +2019-07-24 Alan Modra + + * testsuite/gas/elf/section12a.d: xfail visium and cloudabi. + * testsuite/gas/elf/section12b.d: Likewise. + * testsuite/gas/elf/section13.d: Likewise. + +2019-07-23 Kyrylo Tkachov + + * testsuite/gas/aarch64/sysreg-4.s: Test gmid_el1 read. + * testsuite/gas/aarch64/sysreg-4.d: Update expected output. + * testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise. + +2019-07-23 Alan Modra + + * config/obj-elf.c (obj_elf_change_section): Don't emit a fatal + error for non-SHF_ALLOC SHF_GNU_MBIND here. + (obj_elf_parse_section_letters): Return SHF_GNU_MBIND in new + gnu_attr param. + (obj_elf_section): Adjust obj_elf_parse_section_letters call. + Formatting. Set SHF_GNU_MBIND and elf_osabi from gnu_attr. + Emit normal error for non-SHF_ALLOC SHF_GNU_MBIND and wrong osabi. + (obj_elf_type): Set elf_osabi for ifunc. + * testsuite/gas/elf/section12a.d: xfail msp430 and hpux. + * testsuite/gas/elf/section12b.d: Likewise. + * testsuite/gas/elf/section13.d: Likewise. + * testsuite/gas/elf/section13.l: Adjust expected error. + +2019-07-23 Alan Modra + + * testsuite/gas/elf/section12a.d: Don't skip for rx. + +2019-07-22 Barnaby Wilks + + * config/tc-arm.c (do_mve_vqdmladh): Remove check for UNPREDICTABLE. + * testsuite/gas/arm/mve-vqdmladh-bad.l: Remove tests. + * testsuite/gas/arm/mve-vqdmladh-bad.s: Remove tests. + * testsuite/gas/arm/mve-vqdmladh.d: New tests. + * testsuite/gas/arm/mve-vqdmladh.s: New tests. + * testsuite/gas/arm/mve-vqdmlsdh-bad.l: Remove tests. + * testsuite/gas/arm/mve-vqdmlsdh-bad.s: Remove tests. + * testsuite/gas/arm/mve-vqdmlsdh.d: New tests. + * testsuite/gas/arm/mve-vqdmlsdh.s: New tests. + +2019-07-19 H.J. Lu + + * testsuite/gas/i386/noextreg.d: Pass -O0 to assembler. + +2019-07-19 Jose E. Marchesi + + * testsuite/gas/bpf/alu.d: Use %r6 instead of %ctx. + * testsuite/gas/bpf/lddw-be.d: Likewise. + * testsuite/gas/bpf/lddw.d: Likewise. + * testsuite/gas/bpf/alu-be.d: Likewise. + * testsuite/gas/bpf/alu32.d: Likewise. + +2019-07-19 Jose E. Marchesi + + * config/tc-bpf.c (pe_lcomm_internal): Adapted from tc-i386.c. + (pe_lcomm): Likewise. + (md_pseudo_table): Use pe_lcomm to implement .lcomm. + +2019-07-19 Richard Sandiford + + * doc/c-aarch64.texi: Remame the +bitperm extension to +sve2-bitperm. + * config/tc-aarch64.c (aarch64_features): Likewise. + * testsuite/gas/aarch64/illegal-sve2-aes.d: Update accordingly. + * testsuite/gas/aarch64/illegal-sve2-sha3.d: Likewise. + * testsuite/gas/aarch64/illegal-sve2-sm4.d: Likewise. + * testsuite/gas/aarch64/illegal-sve2.d: Likewise. + * testsuite/gas/aarch64/sve2.d: Likewise. + +2019-07-19 Alan Modra + + * config/tc-ppc.c (ppc_elf_suffix): Map "tls@pcrel", "got@tlsgd@pcrel", + "got@tlsld@pcrel", "got@tprel@pcrel", and "got@dtprel@pcrel". + (fixup_size, md_assemble): Handle pcrel tls relocs. + (ppc_force_relocation, ppc_fix_adjustable): Likewise. + (md_apply_fix, tc_gen_reloc): Likewise. + +2019-07-17 Jose E. Marchesi + + * config/tc-bpf.c: Make .lcomm to get a third argument with the + alignment. + +2019-07-17 Jose E. Marchesi + + * config/tc-bpf.c (md_pseudo_table): .half, .word and .dword. + + * testsuite/gas/bpf/data.s: New file. + * testsuite/gas/bpf/data.d: Likewise. + * testsuite/gas/bpf/data-be.d: Likewise. + * testsuite/gas/bpf/bpf.exp: Run data and data-be. + * doc/c-bpf.texi (BPF Directives): New section. + +2019-07-17 Jan Beulich + + * config/tc-i386.c (check_hle, md_assemble, check_VecOperands, + match_template, check_string, build_modrm_byte): Replace + operand_type_check(..., anymem) by Operand_Mem ones. + (process_operands): Also copy i.flags[] when copying other + operand properties. + +2019-07-16 Jan Beulich + + * config/tc-i386.c (match_template): Adjust regmem reference. + Adjust comment and update regmem when swapping operands. + (build_modrm_byte): Drop clearing of regmem and stale part of + comment. Correct comment. Adjust regmem reference. + +2019-07-16 Jan Beulich + + * config/tc-i386.c (type_names): Replace SReg entries. + (pi, check_byte_reg, build_modrm_byte, i386_att_operand, + parse_real_register): Switch to using sreg field. + (process_operands): Likewise. Extend handling of PUSH/POP of + segment registers. Drop dead setting of REX_B. + * config/tc-i386-intel.c (i386_intel_simplify_register, + i386_intel_operand): Switch to using sreg field. + * testsuite/gas/i386/x86-64-opcode.s: Add PUSH/POP of %fs/%gs. + * testsuite/gas/i386/x86-64-opcode.d: Adjust expectations. + * testsuite/gas/i386/ilp32/x86-64-opcode.d: Use parent dir + expectations. + +2019-07-15 Jose E. Marchesi + + * testsuite/gas/bpf/mem.s: ldabs instructions do not take a `src' + register as an argument. + * testsuite/gas/bpf/mem.d: Updated accordingly. + * testsuite/gas/bpf/mem-be.d: Likewise. + * doc/c-bpf.texi (BPF Opcodes): Update to reflect the correct + explicit arguments to ldabs and ldind instructions. + +2019-07-14 Jose E. Marchesi + + * testsuite/gas/bpf/mem.s: Do not use explicit arguments for + ldabs and ldind instructions. + * testsuite/gas/bpf/mem.d: Updated accordingly. + * testsuite/gas/bpf/mem-be.d: Likewise. + +2019-07-09 Alan Modra + + * config/obj-elf.c (elf_frob_symbol): Remove mips hacks. + * config/tc-mips.h (tc_frob_symbol): Define. + (mips_frob_symbol): Declare. + * config/tc-mips.c (s_mips_globl): Don't set BSF_OBJECT for irix. + (mips_frob_symbol): Fudge symbols for irix here. + * testsuite/gas/elf/type-2.e: Allow random target symbols. + +2019-07-05 Kito Cheng + + * doc/c-riscv.texi (Instruction Formats): Add r4 type. + * testsuite/gas/riscv/insn.d: Add testcase for r4 type. + * testsuite/gas/riscv/insn.s: Ditto. + + * doc/c-riscv.texi (Instruction Formats): Add b and j type. + * testsuite/gas/riscv/insn.d: Add test case for b and j type. + * testsuite/gas/riscv/insn.s: Ditto. + + * testsuite/gas/riscv/insn.s: Correct instruction type for load + and store. + + * testsuite/gas/riscv/insn.d: Using regular expression to match + address. + + * doc/c-riscv.texi (Instruction Formats): Fix encoding table for SB + type and fix typo. + +2019-07-04 Jan Beulich + + * config/tc-i386.c (md_parse_option): Don't blindly accept all + -Q options. + (md_show_usage): Correctly name the ignored -Q option flavors. + +2019-07-04 Jan Beulich + + * config/obj-elf.c (obj_elf_type): Check for conflicts between + old and new types. + * config/tc-hppa.h (md_elf_symbol_type_change): New. + * doc/as.texi: Mention warning behavior for the ELF flavor of + .type. + * testsuite/gas/elf/type-2.e, testsuite/gas/elf/type-2.l, + testsuite/gas/elf/type-2.s: New. + * testsuite/gas/elf/elf.exp: Run new test. + +2019-07-03 Nick Clifton + + * testsuite/gas/aarch64/codealign.d: Update to work with a + toolchain configured to generate build notes. + * testsuite/gas/aarch64/codealign_1.d: Likewise. + * testsuite/gas/aarch64/dwarf.d: Likewise. + * testsuite/gas/aarch64/mapmisc.d: Likewise. + * testsuite/gas/aarch64/mapping.d: Likewise. + * testsuite/gas/aarch64/mapping2.d: Likewise. + * testsuite/gas/aarch64/mapping3.d: Likewise. + * testsuite/gas/aarch64/mapping4.d: Likewise. + * testsuite/gas/aarch64/mapping_5.d: Likewise. + * testsuite/gas/aarch64/mapping_6.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_1.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_10.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_11.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_12.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_13.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_14.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_15.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_16.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_17.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_18.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_19.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_2.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_20.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_21.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_22.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_23.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_24.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_25.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_26.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_27.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_3.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_4.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_5.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_6.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_7.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_8.d: Likewise. + * testsuite/gas/aarch64/sve-movprfx_9.d: Likewise. + * testsuite/gas/aarch64/symbol-variant_pcs-1.d: Likewise. + * testsuite/gas/aarch64/symbol-variant_pcs-2.d: Likewise. + * testsuite/gas/aarch64/symbol-variant_pcs-3.d: Likewise. + * testsuite/gas/all/assign.d: Likewise. + * testsuite/gas/all/none.d: Likewise. + * testsuite/gas/all/weakref1.d: Likewise. + * testsuite/gas/arm/got_prel.d: Likewise. + * testsuite/gas/arm/local_function.d: Likewise. + * testsuite/gas/arm/mapdir.d: Likewise. + * testsuite/gas/arm/mapmisc.d: Likewise. + * testsuite/gas/arm/mapping2.d: Likewise. + * testsuite/gas/arm/mapping3.d: Likewise. + * testsuite/gas/arm/mapping4.d: Likewise. + * testsuite/gas/arm/mapsecs.d: Likewise. + * testsuite/gas/arm/mapshort-eabi.d: Likewise. + * testsuite/gas/arm/thumbrel.d: Likewise. + * testsuite/gas/arm/unwind.d: Likewise. + * testsuite/gas/cfi/cfi-label.d: Likewise. + * testsuite/gas/elf/elf.exp: Likewise. + * testsuite/gas/i386/bss.d: Likewise. + * testsuite/gas/i386/ifunc-3.d: Likewise. + * testsuite/gas/i386/ilp32/mixed-mode-reloc64.d: Likewise. + * testsuite/gas/i386/ilp32/quad.d: Likewise. + * testsuite/gas/i386/ilp32/reloc64.d: Likewise. + * testsuite/gas/i386/ilp32/x86-64-size-1.d: Likewise. + * testsuite/gas/i386/ilp32/x86-64-size-3.d: Likewise. + * testsuite/gas/i386/ilp32/x86-64-size-5.d: Likewise. + * testsuite/gas/i386/ilp32/x86-64-unwind.d: Likewise. + * testsuite/gas/i386/mixed-mode-reloc32.d: Likewise. + * testsuite/gas/i386/mixed-mode-reloc64.d: Likewise. + * testsuite/gas/i386/nop-6.d: Likewise. + * testsuite/gas/i386/property-1.d: Likewise. + * testsuite/gas/i386/property-2.d: Likewise. + * testsuite/gas/i386/relax.d: Likewise. + * testsuite/gas/i386/reloc64.d: Likewise. + * testsuite/gas/i386/size-1.d: Likewise. + * testsuite/gas/i386/size-3.d: Likewise. + * testsuite/gas/i386/x86-64-nop-6.d: Likewise. + * testsuite/gas/i386/x86-64-property-1.d: Likewise. + * testsuite/gas/i386/x86-64-property-2.d: Likewise. + * testsuite/gas/i386/x86-64-size-1.d: Likewise. + * testsuite/gas/i386/x86-64-size-3.d: Likewise. + * testsuite/gas/i386/x86-64-size-5.d: Likewise. + * testsuite/gas/i386/x86-64-unwind.d: Likewise. + * testsuite/gas/macros/irp.d: Likewise. + * testsuite/gas/macros/repeat.d: Likewise. + * testsuite/gas/macros/rept.d: Likewise. + * testsuite/gas/macros/test2.d: Likewise. + * testsuite/gas/macros/test3.d: Likewise. + * testsuite/gas/macros/vararg.d: Likewise. + * testsuite/gas/ppc/astest2.d: Likewise. + * testsuite/gas/ppc/astest2_64.d: Likewise. + * testsuite/gas/ppc/astest64.d: Likewise. + * testsuite/gas/ppc/power4.d: Likewise. + * testsuite/gas/ppc/test1elf64.d: Likewise. + +2019-07-02 Barnaby Wilks + + * config/tc-aarch64.c (parse_operands): Add error check. + * testsuite/gas/aarch64/diagnostic.l: New test. + * testsuite/gas/aarch64/diagnostic.s: New test. + * testsuite/gas/aarch64/illegal.l: New tests. + * testsuite/gas/aarch64/illegal.s: New tests. + +2019-07-02 Richard Sandiford + + * testsuite/gas/aarch64/sve-movprfx_27.s, + * testsuite/gas/aarch64/sve-movprfx_27.d: New test. + +2019-07-02 Richard Sandiford + + * testsuite/gas/aarch64/sve-movprfx_26.s: Also test FCVTZS, FCVTZU, + SCVTF, UCVTF, LSR and ASR. + * testsuite/gas/aarch64/sve-movprfx_26.d: Update accordingly. + * testsuite/gas/aarch64/sve-movprfx_26.l: Likewise. + +2019-07-02 Richard Sandiford + + * testsuite/gas/aarch64/sve-movprfx_25.s: Allow CPY Z1.D.P1/M,X1 + to be prefixed by MOVPRFX. + * testsuite/gas/aarch64/sve-movprfx_25.d: Update accordingly. + * testsuite/gas/aarch64/sve-movprfx_25.l: Likewise. + +2019-07-01 Nick Clifton + + PR 24748 + * write.c (create_note_reloc): Add desc2_offset parameter. Change + name of offset parameter to note_offset. Only use desc2_offset + when placing addend into REL reloc's address space. + (maybe_generate_build_notes): Update parameters passed to + create_note_reloc. + +2019-07-01 Matthew Malcomson + + * testsuite/gas/aarch64/illegal-sve2-aes.d: Update tests. + * testsuite/gas/aarch64/illegal-sve2.l: Update tests. + * doc/c-aarch64.texi: Add special note of pmull{t,b} + instructions under the sve2-aes architecture extension. + * testsuite/gas/aarch64/illegal-sve2.s: Add small size + pmull{t,b} instructions. + * testsuite/gas/aarch64/sve2.d: Add small size pmull{t,b} + disassembly. + * testsuite/gas/aarch64/sve2.s: Add small size pmull{t,b} + instructions. + +2019-07-01 Nick Clifton + + PR 24738 + * doc/c-i386.texi (i386-Directives): Add a description of the + Value directive. + +2019-07-01 Nick Clifton + + PR 24737 + * doc/as.texi (Align): Add missing word to description of + pseudo-op. + (P2align): Likewise. + +2019-06-28 Nick Clifton + + PR 24735 + * doc/as.texi (Zero): Fix spelling typo. + +2019-07-01 Jan Beulich + + * config/tc-i386.c (vec_imm4): Delete. + (VEX_check_operands): Replace Vec_Imm4 check by CpuXOP with five + operands one. Clear Imm by different means. + (build_modrm_byte): Adjust comment. Remove dead code. Add and + adjust assertions. + +2019-07-01 Jan Beulich + + * config/tc-i386.c (output_insn): Adjust recognition of xFENCE + insns. Move PadLock special case of prefix emission to 3-byte + long base opcode handling. + (i386_index_check): Check for CpuPadLock instead of ImmExt. + +2019-07-01 Jan Beulich + + * config/tc-i386.c (optimize_encoding): Handle AND / OR with + both operands being the same register. + * doc/c-i386.texi: Update -O2 documentation. + * testsuite/gas/i386/optimize-2.s, + testsuite/gas/i386/x86-64-optimize-3.s: Add cases of AND / OR + with both operands being the same register. + * testsuite/gas/i386/optimize-2.d, + testsuite/gas/i386/x86-64-optimize-3.d: Adjust expectations. + * testsuite/gas/i386/optimize-2b.d, + testsuite/gas/i386/x86-64-optimize-3b.d: New. + * testsuite/gas/i386/i386.exp: Run new test. + +2019-07-01 Jan Beulich + + * config/tc-i386.c (commutative): New. + (build_vex_prefix): Handle commutative case. + (optimize_encoding): Set commutative flag when appropriate. + * doc/c-i386.texi: Update -O2 documentation. + * testsuite/gas/i386/ilp32/x86-64-sse2avx.d: Re-use parent dir + output. + * testsuite/gas/i386/x86-64-sse2avx.s: Add tests with high + numbered source operands. + * testsuite/gas/i386/x86-64-optimize-2.d, + testsuite/gas/i386/x86-64-optimize-2b.d, + testsuite/gas/i386/x86-64-optimize-3.d, + testsuite/gas/i386/x86-64-optimize-5.d, + testsuite/gas/i386/x86-64-optimize-6.d, + testsuite/gas/i386/x86-64-sse2avx.d: Adjust expectations. + * testsuite/gas/i386/x86-64-avx-swap-2.d, + testsuite/gas/i386/x86-64-avx-swap-2.s: New. + * testsuite/gas/i386/i386.exp: Run new test. + +2019-07-01 Jan Beulich + + * config/tc-i386.c (is_evex_encoding): Don't check for SAE. + (check_VecOperands): Simplify static rounding / SAE checking. + +2019-07-01 Jan Beulich + + * config/tc-i386.c (optimize_encoding): Make j unsigned. Handle + vpand{d,q}, vpandn{d,q}, vpor{d,q}, and vpxor{d,q}. Also check/ + clear broadcast. Eliminate a loop. + * doc/c-i386.texi: Update -O1 documentation. + * testsuite/gas/i386/optimize-1.s, + testsuite/gas/i386/optimize-2.s, + testsuite/gas/i386/optimize-3.s, + testsuite/gas/i386/optimize-5.s, + testsuite/gas/i386/x86-64-optimize-2.s, + testsuite/gas/i386/x86-64-optimize-3.s, + testsuite/gas/i386/x86-64-optimize-4.s, + testsuite/gas/i386/x86-64-optimize-6.s: Add vpand{d,q}, + vpandn{d,q}, vpor{d,q}, and vpxor{d,q} cases. + testsuite/gas/i386/optimize-1.d, + testsuite/gas/i386/optimize-1a.d, + testsuite/gas/i386/optimize-2.d, + testsuite/gas/i386/optimize-3.d, + testsuite/gas/i386/optimize-4.d, + testsuite/gas/i386/optimize-5.d, + testsuite/gas/i386/x86-64-optimize-2.d, + testsuite/gas/i386/x86-64-optimize-2a.d, + testsuite/gas/i386/x86-64-optimize-2b.d, + testsuite/gas/i386/x86-64-optimize-3.d, + testsuite/gas/i386/x86-64-optimize-4.d, + testsuite/gas/i386/x86-64-optimize-5.d, + testsuite/gas/i386/x86-64-optimize-6.d: Adjust expectations. + +2019-07-01 Jan Beulich + + * testsuite/gas/i386/avx512f_vpclmulqdq.s, + testsuite/gas/i386/avx512vl_vpclmulqdq.s, + testsuite/gas/i386/vpclmulqdq.s, + testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s, + testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s: Add pseudo ops. + * testsuite/gas/i386/x86-64-vpclmulqdq.s: Likewise. Don't use + high 16 [xy]mm registers. + * testsuite/gas/i386/avx512f_vpclmulqdq.d, + testsuite/gas/i386/avx512f_vpclmulqdq-intel.d, + testsuite/gas/i386/avx512vl_vpclmulqdq.d, + testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d, + testsuite/gas/i386/vpclmulqdq.d, + testsuite/gas/i386/vpclmulqdq-intel.d, + testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d, + testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d, + testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d, + testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d, + testsuite/gas/i386/x86-64-vpclmulqdq.d, + testsuite/gas/i386/x86-64-vpclmulqdq-intel.d: Adjust + expectations. + +2019-07-01 Jan Beulich + + * tc-i386.c (output_disp, output_imm): Use encoding_length. + +2019-07-01 Jan Beulich + + * tc-i386.c (encoding_length): New. + (output_insn): Use it. + * testsuite/gas/i386/oversized16.l, + testsuite/gas/i386/oversized16.s, + testsuite/gas/i386/oversized64.l, + testsuite/gas/i386/oversized64.s: New. + * testsuite/gas/i386/i386.exp: Run new tests. + +2019-06-27 H.J. Lu + + PR binutils/24719 + * testsuite/gas/i386/disassem.s: Add test for vgatherpf0dps + with invalid vector length. + * testsuite/gas/i386/x86-64-disassem.s: Likewise. + * testsuite/gas/i386/disassem.d: Updated. + * testsuite/gas/i386/x86-64-disassem.d: Likewise. + +2019-06-27 Barnaby Wilk s + + * config/tc-arm.c (do_smc): Add range check for immediate operand. + (do_t_smc): Add range check for immediate operand. Remove + obsolete immediate encoding. + (md_apply_fix): Fix range check. Remove obsolete immediate encoding. + * testsuite/gas/arm/arch6zk.d: Fix test. + * testsuite/gas/arm/arch6zk.s: Fix test. + * testsuite/gas/arm/smc-bad.d: New test. + * testsuite/gas/arm/smc-bad.l: New test. + * testsuite/gas/arm/smc-bad.s: New test. + * testsuite/gas/arm/thumb32.d: Fix test. + * testsuite/gas/arm/thumb32.s: Fix test. + +2019-06-27 Jan Beulich + + config/tc-i386.c (md_assemble): Check for protected mode + incapable processor before encoding VEX and alike insns. + * testsuite/gas/i386/inval-16.s: For 80186 architecture. + * testsuite/gas/i386/inval-16.l: Adjust expectations. + * testsuite/gas/i386/avx-16bit.d, + testsuite/gas/i386/avx-16bit.s, + testsuite/gas/i386/avx512f-16bit.d, + testsuite/gas/i386/avx512f-16bit.s, + testsuite/gas/i386/bmi-16bit.d, + testsuite/gas/i386/bmi-16bit.s, + testsuite/gas/i386/bmi2-16bit.d, + testsuite/gas/i386/bmi2-16bit.s, + testsuite/gas/i386/lwp-16bit.d, + testsuite/gas/i386/lwp-16bit.s: New + testsuite/gas/i386/i386.exp: Run new tests. + +2019-06-26 Jim Wilson + + * testsuite/gas/xstormy16/allinsn.sh: Change first line to + #!/bin/bash and make it executable. + * testsuite/gas/xstormy16/gcc.sh: Likewise. + +2019-06-26 Lili Cui + + * doc/c-i386.texi: Document x/y/z instruction sufffixes in AT&T + syntax and xmmword/ymmword/zmmword/fword/tbyte/oword ptr in + Intel syntax. + +2019-06-25 Faraz Shahbazker + + * config/tc-mips.c (macro) : Re-order MTHC1 with + respect to MTC1 and use $0 for either part where possible. + * testsuite/gas/mips/li-d.s: Add test cases for non-zero + words in double precision constants. + * testsuite/gas/mips/li-d.d: Update reference output. + * testsuite/gas/mips/micromips@isa-override-1.d: Likewise. + * testsuite/gas/mips/mips32r2@isa-override-1.d: Likewise. + * testsuite/gas/mips/mips64r2@isa-override-1.d: Likewise. + +2019-06-25 Jan Beulich + + * tc-i386.c (acc32, acc64): Delete. + (pi): Make first parameter pinter-to-const. + (type_names): Remove Acc. Add acc8, acc16, acc32, and acc64. + (pt): Use operand_type_equal(). + (match_template): Replace use of acc32. + (process_suffix): Replace use of acc64. + +2019-06-25 Jan Beulich + + * doc/c-i386.texi: Mark -mavxscalar= and -mvexwig as dangrous to + use. + +2019-06-25 Jan Beulich + + * tc-i386.c (process_suffix): Use is_any_vex_encoding(). + +2019-06-25 Jan Beulich + + * testsuite/gas/i386/sse2-16bit.d, + testsuite/gas/i386/sse2-16bit.s: New. + testsuite/gas/i386/i386.exp: Run new test. + +2019-06-25 Jan Beulich + + * config/tc-i386.c (optimize_encoding): Also handle ANDQ with + immediatie fitting in 7 bits. + * testsuite/gas/i386/x86-64-optimize-1.s: Add ANDQ cases with + 7- and 8-bit immediates. + * testsuite/gas/i386/x86-64-optimize-1.d: Adjust expectations. + +2019-06-25 Jan Beulich + + * testsuite/gas/i386/xmmword.s: Add cvtps2pi and cvttps2pi + tests. + * testsuite/gas/i386/xmmword.l: Adjust expectations. + +2019-06-25 Alan Modra + + * config/tc-ppc.c (ppc_handle_align): Add parentheses. + +2019-06-25 Alan Modra + + * config/tc-ppc.h (ppc_nop_select): Declare. + (NOP_OPCODE): Define. + * config/tc-ppc.c (ppc_elf_end, ppc_xcoff_end): Zero ppc_cpu. + (ppc_nop_encoding_for_rs_align_code): New enum. + (ppc_nop_select): New function. + (ppc_handle_align): Don't use ppc_cpu here. Get nop type from frag. + * testsuite/gas/ppc/groupnop.d, + * testsuite/gas/ppc/groupnop.s: New test. + * testsuite/gas/ppc/ppc.exp: Run it. + +2019-06-19 H.J. Lu + + PR binutils/24700 + * testsuite/gas/i386/disassem.s: Add test for vbroadcasti32x8 + with invalid vector length. + * testsuite/gas/i386/x86-64-disassem.s: Likewise. + * testsuite/gas/i386/disassem.d: Updated. + * testsuite/gas/i386/x86-64-disassem.d: Likewise. + +2019-06-17 H.J. Lu + + PR binutils/24691 + * testsuite/gas/i386/disassem.s: Add test for vshuff32x4 with + invalid vector length. + * testsuite/gas/i386/x86-64-disassem.s: Likewise. + * testsuite/gas/i386/disassem.d: Updated. + * testsuite/gas/i386/x86-64-disassem.d: Likewise. + +2019-06-14 Alan Modra + + * Makefile.in: Regenerate. + * configure: Regenerate. + * doc/Makefile.in: Regenerate. + +2019-06-12 Peter Bergner + + * testsuite/gas/ppc/power9.d: Delete ldmx tests. + * testsuite/gas/ppc/power9.s: Likewise. + +2019-06-06 Lili Cui + + * config/tc-i386.c (cpu_arch): Add .enqcmd. + (cpu_noarch): Add noenqcmd. + * doc/c-i386.texi: Document noenqcmd. + +2019-06-05 H.J. Lu + + PR binutils/24633 + * testsuite/gas/i386/disassem.s: Add tests for invalid vector + lengths for EVEX vextractfXX and vinsertfXX. + * testsuite/gas/i386/x86-64-disassem.s: Likewise. + * testsuite/gas/i386/disassem.d: Updated. + * testsuite/gas/i386/x86-64-disassem.d: Likewise. + +2019-06-04 H.J. Lu + + PR binutils/24626 + * testsuite/gas/i386/disassem.s: Add tests for reserved VEX.vvvv + and EVEX.vvvv. + * testsuite/gas/i386/x86-64-disassem.s: Likewise. + * testsuite/gas/i386/disassem.d: Updated. + * testsuite/gas/i386/x86-64-disassem.d: Likewise. + +2019-06-04 Igor Tsimbalist + Lili Cui + + * config/tc-i386.c (cpu_arch): Add .avx512_vp2intersect. + (cpu_noarch): Likewise. + * doc/c-i386.texi: Document avx512_vp2intersect. + * testsuite/gas/i386/i386.exp: Run vp2intersect tests. + * testsuite/gas/i386/vp2intersect-intel.d: New test. + * testsuite/gas/i386/vp2intersect.d: Likewise. + * testsuite/gas/i386/vp2intersect.s: Likewise. + * testsuite/gas/i386/vp2intersect-inval-bcast.l: Likewise. + * testsuite/gas/i386/vp2intersect-inval-bcast.s: Likewise. + * testsuite/gas/i386/x86-64-vp2intersect-intel.d: Likewise. + * testsuite/gas/i386/x86-64-vp2intersect.d: Likewise. + * testsuite/gas/i386/x86-64-vp2intersect.s: Likewise. + * testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l: Likewise. + * testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s: Likewise. + +2019-06-04 Xuepeng Guo + Lili Cui + + * doc/c-i386.texi: Document enqcmd. + * testsuite/gas/i386/enqcmd-intel.d: New file. + * testsuite/gas/i386/enqcmd-inval.l: Likewise. + * testsuite/gas/i386/enqcmd-inval.s: Likewise. + * testsuite/gas/i386/enqcmd.d: Likewise. + * testsuite/gas/i386/enqcmd.s: Likewise. + * testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise. + * testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise. + * testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise. + * testsuite/gas/i386/x86-64-enqcmd.d: Likewise. + * testsuite/gas/i386/x86-64-enqcmd.s: Likewise. + * testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval, + enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval, + and x86-64-enqcmd. + +2019-05-30 Jim Wilson + + * config/tc-riscv.c (riscv_ip) <'u'>: Move O_constant check inside if + statement. Delete O_symbol and O_constant check after if statement. + * testsuite/gas/riscv/auipc-parsing.s: Test lui with missing %hi. + * testsuite/gas/riscv/auipc-parsing.l: Update. + +2019-05-28 H.J. Lu + + PR gas/24625 + * testsuite/gas/i386/inval-avx512f.s: Add tests for AVX512_BF16 + instructions with invalid broadcast. + * testsuite/gas/i386/x86-64-inval-avx512f.s: Likewise. + * testsuite/gas/i386/inval-avx512f.l: Updated. + * testsuite/gas/i386/x86-64-inval-avx512f.l: Likewise. + +2019-05-27 Alan Modra + + * config/tc-ppc.c (is_ppc64_target): New function. + (md_show_usage): Split up usage message. Don't show -a64 when + unsupported. + testsuite/gas/ppc/ppc.exp (supports_ppc64): New. + (prefix-reloc): Only run for ppc64. + +2019-05-24 Szabolcs Nagy + + * config/tc-aarch64.c (aarch64_elf_copy_symbol_attributes): Define. + * config/tc-aarch64.h (aarch64_elf_copy_symbol_attributes): Declare. + (OBJ_COPY_SYMBOL_ATTRIBUTES): Define. + * testsuite/gas/aarch64/symbol-variant_pcs-3.d: New test. + * testsuite/gas/aarch64/symbol-variant_pcs-3.s: New test. + +2019-05-24 Szabolcs Nagy + + * config/tc-aarch64.c (s_variant_pcs): New function. + * doc/c-aarch64.texi: Document .variant_pcs. + * testsuite/gas/aarch64/symbol-variant_pcs-1.d: New test. + * testsuite/gas/aarch64/symbol-variant_pcs-1.s: New test. + * testsuite/gas/aarch64/symbol-variant_pcs-2.d: New test. + * testsuite/gas/aarch64/symbol-variant_pcs-2.s: New test. + +2019-05-24 Alan Modra + + * po/POTFILES.in: Regenerate. + +2019-05-24 Alan Modra + + * config/tc-ppc.c (ppc_elf_suffix): Support @pcrel, @got@pcrel, + @plt@pcrel, @higher34, @highera34, @highest34, and @highesta34. + (fixup_size): Handle new powerxx relocs. + (md_assemble): Warn for @pcrel on non-prefix insns. + Accept @l, @h and @ha on prefix insns, and infer reloc without + any @ suffix. Translate powerxx relocs to suit DQ and DS field + instructions. Include operand tests as well as opcode test to + translate BFD_RELOC_HI16_S to BFD_RELOC_PPC_16DX_HA. + (ppc_fix_adjustable): Return false for pcrel GOT and PLT relocs. + (md_apply_fix): Handle new powerxx relocs. + * config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): Accept + BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34, + BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34, + BFD_RELOC_PPC64_D34, and BFD_RELOC_PPC64_D28. + * testsuite/gas/ppc/prefix-reloc.d, + * testsuite/gas/ppc/prefix-reloc.s: New test. + * testsuite/gas/ppc/ppc.exp: Run it. + +2019-05-24 Peter Bergner + Alan Modra + + * config/tc-ppc.c (ppc_insert_operand): Only sign extend fields that + are 32-bits or smaller. + * messages.c (as_internal_value_out_of_range): Do not truncate + variables and use BFD_VMA_FMT to print them. + * testsuite/gas/ppc/prefix-pcrel.s, + * testsuite/gas/ppc/prefix-pcrel.d: New test. + * testsuite/gas/ppc/ppc.exp: Run it. + +2019-05-24 Peter Bergner + Alan Modra + + * config/tc-ppc.c (ppc_setup_opcodes): Handle prefix_opcodes. + (struct insn_label_list): New. + (insn_labels, free_insn_labels): New variables. + (ppc_record_label, ppc_clear_labels, ppc_start_line_hook): New funcs. + (ppc_frob_label, ppc_new_dot_label): Move functions earlier in file + and call ppc_record_label. + (md_assemble): Handle 64-bit prefix instructions. Align labels + that are on the same line as a prefix instruction. + * config/tc-ppc.h (tc_frob_label, ppc_frob_label): Move to + later in the file. + (md_start_line_hook): Define. + (ppc_start_line_hook): Declare. + * testsuite/gas/ppc/prefix-align.d, + * testsuite/gas/ppc/prefix-align.s: New test. + * testsuite/gas/ppc/ppc.exp: Run new test. + +2019-05-23 Jose E. Marchesi + + * configure.ac: Handle bpf-*-* targets. + * configure.tgt (generic_target): Likewise. + * configure: Regenerate. + * Makefile.am (TARGET_CPU_CFILES): Add tc-bpf.c. + (TARGET_CPU_HFILES): Add tc-bpf.h. + * Makefile.in: Regenerated. + * config/tc-bpf.c: New file. + * config/tc-bpf.h: Likewise. + * doc/Makefile.am (CPU_DOCS): Add c-bpf.texi. + * doc/Makefile.in: Regenerated. + * doc/all.texi: set BPF. + * doc/as.texi: Add eBPF contents. + * doc/c-bpf.texi: New file. + * testsuite/gas/bpf/alu.d: New file. + * testsuite/gas/bpf/mem-be.d: Likewise. + * testsuite/gas/bpf/mem.s: Likewise. + * testsuite/gas/bpf/mem.d: Likewise. + * testsuite/gas/bpf/lddw-be.d: Likewise. + * testsuite/gas/bpf/lddw.s: Likewise. + * testsuite/gas/bpf/lddw.d: Likewise. + * testsuite/gas/bpf/jump-be.d: Likewise. + * testsuite/gas/bpf/jump.s: Likewise. + * testsuite/gas/bpf/jump.d: Likewise. + * testsuite/gas/bpf/exit-be.d: Likewise. + * testsuite/gas/bpf/exit.s: Likewise. + * testsuite/gas/bpf/exit.d: Likewise. + * testsuite/gas/bpf/call-be.d: Likewise. + * testsuite/gas/bpf/call.s: Likewise. + * testsuite/gas/bpf/call.d: Likewise. + * testsuite/gas/bpf/bpf.exp: Likewise. + * testsuite/gas/bpf/atomic-be.d: Likewise. + * testsuite/gas/bpf/atomic.s: Likewise. + * testsuite/gas/bpf/atomic.d: Likewise. + * testsuite/gas/bpf/alu-be.d: Likewise. + * testsuite/gas/bpf/alu32-be.d: Likewise. + * testsuite/gas/bpf/alu32.s: Likewise. + * testsuite/gas/bpf/alu32.d: Likewise. + * testsuite/gas/bpf/alu.s: Likewise. + * testsuite/gas/all/gas.exp: Introduce a nop_type for eBPF. + * testsuite/gas/all/org-1.s: Support nop_type 6. + * testsuite/gas/all/org-1.l: Updated to reflect changes in + org-1.s. + +2019-05-22 John Darrington + + * config/tc-s12z.c (s12z_strtol): New function. (md_show_usage): Update. + (md_parse_option): new case OPTION_DOLLAR_HEX. (s12z_init_after_args): + (): Use s12z_strtol instead of strtol. + * doc/c-s12z.texi (S12Z Options): Document new option -mdollar-hex. + * testsuite/gas/s12z/dollar-hex.d: New file. + * testsuite/gas/s12z/dollar-hex.s: New file. + * testsuite/gas/s12z/s12z.exp: Add them. + +2019-05-21 Sudakshina Das + + * config/tc-arm.c (parse_operands): Update case OP_RVC to + parse p0 and P0. + (do_vmrs): Add checks for valid operands with respect to + cpu and fpu options. + (do_vmsr): Likewise. + (reg_names): New reg_names for FPSCR_nzcvqc, VPR, FPCXT_NS + and FPCXT_S. + * testsuite/gas/arm/armv8_1-m-spec-reg.d: New. + * testsuite/gas/arm/armv8_1-m-spec-reg.s: New. + * testsuite/gas/arm/armv8_1-m-spec-reg-bad1.d: New. + * testsuite/gas/arm/armv8_1-m-spec-reg-bad2.d: New. + * testsuite/gas/arm/armv8_1-m-spec-reg-bad3.d: New. + * testsuite/gas/arm/armv8_1-m-spec-reg-bad1.l: New. + * testsuite/gas/arm/armv8_1-m-spec-reg-bad2.l: New. + * testsuite/gas/arm/armv8_1-m-spec-reg-bad3.l: New. + * testsuite/gas/arm/vfp1xD.d: Updated to allow new valid values. + * testsuite/gas/arm/vfp1xD_t2.d: Likewise. + +2019-05-21 Sudakshina Das + + * config/tc-arm.c (TOGGLE_BIT): New. + (T16_32_TAB): New entries for cinc, cinv, cneg, csinc, + csinv, csneg, cset, csetm and csel. + (operand_parse_code): New OP_RR_ZR. + (parse_operand): Handle case for OP_RR_ZR. + (do_t_cond): New. + (insns): New instructions for cinc, cinv, cneg, csinc, + csinv, csneg, cset, csetm, csel. + * testsuite/gas/arm/armv8_1-m-cond-bad.d: New test. + * testsuite/gas/arm/armv8_1-m-cond-bad.l: New test. + * testsuite/gas/arm/armv8_1-m-cond-bad.s: New test. + * testsuite/gas/arm/armv8_1-m-cond.d: New test. + * testsuite/gas/arm/armv8_1-m-cond.s: New test. + +2019-05-21 Sudakshina Das + + * config/tc-arm.c (operand_parse_code): New entries for + OP_RRnpcsp_I32 (register or integer operands). + (do_mve_scalar_shift): New. + (insns): New instructions for asrl, lsll, lsrl, sqrshrl, sqrshr, sqshl + sqshll, srshr, srshrl, uqrshll, uqrshl, uqshll, uqshl, urshrl and urshr. + * testsuite/gas/arm/mve-shift.d: New. + * testsuite/gas/arm/mve-shift.s: New. + * testsuite/gas/arm/mve-shift-bad.d: New. + * testsuite/gas/arm/mve-shift-bad.s: New. + * testsuite/gas/arm/mve-shift-bad.l: New. + +2019-05-21 Faraz Shahbazker + + * testsuite/gas/mips/r6-branch-constraints.s: Rename to ... + * testsuite/gas/mips/r6-reg-constraints.s: this and add test + case for DAUI. + * testsuite/gas/mips/r6-branch-constraints.l: Rename to ... + * testsuite/gas/mips/r6-reg-constraints.l: this and add test + for DAUI. + * testsuite/gas/mips/mips.exp: Rename test from + r6-branch-constraints to r6-reg-constraints. + +2019-05-21 Andre Vieira + + PR 24559 + * config/tc-arm.c (move_or_literal_pool): Set size_req to 0 for MOVW + replacement. + * testsuite/gas/arm/load-pseudo.s: New test input. + * testsuite/gas/arm/m0-load-pseudo.d: New test. + * testsuite/gas/arm/m23-load-pseudo.d: New test. + * testsuite/gas/arm/m33-load-pseudo.d: New test. + +2019-05-21 Andre Vieira + + * testsuite/gas/arm/armv8_1-m-bf.d: Allow different branch target naming + conventions. + * testsuite/gas/arm/armv8_1-m-bfl.d: Likewise. + * testsuite/gas/arm/armv8_1-m-bfcsel.d: Likewise. + * testsuite/gas/arm/armv8_1-m-loloop.d: Likewise. + * testsuite/gas/arm/armv8_1-m-bf-rel.d: Skip for vxworks. + * testsuite/gas/arm/armv8_1-m-bf-rela.d: New test. + * testsuite/gas/arm/armv8_1-m-bfl-rel.d: Skip for vxworks. + * testsuite/gas/arm/armv8_1-m-bfl-rela.d: New test. + +2019-05-21 John Darrington + + * expr.c (literal_prefix_dollar_hex): New variable. + (operand)[case '$']: Use the new variable instead of the old macro. + Also, move this instance of "case '$'" next to the other one, and + enable it only in the complementary proprocessor case. + * expr.h (literal_prefix_dollar_hex): Declare it. + * config/tc-epiphany.c (md_begin): Assign literal_prefix_dollar_hex. + * config/tc-ip2k.c: ditto + * config/tc-mt.c: ditto + * config/tc-epiphany.h (LITERAL_PREFIXDOLLAR_HEX): Remove macro definition. + * config/tc-ip2k.h: ditto + * config/tc-mt.h: ditto + +2019-05-20 Faraz Shahbazker + + PR 14798 + * config/tc-mips.c (s_mips_globl): Only treat symbols that are + not explicitly labelled as BSF_OBJECTs for IRIX targets. + * testsuite/gas/mips/pr14798.s: New test source. + * testsuite/gas/mips/pr14798-irix.d: New test. + * testsuite/gas/mips/pr14798.d: Likewise. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2019-05-17 John Darrington + + * doc/c-arm.texi (ARM Options): Remove "(r)" and "(tm)" + * doc/c-bfin.texi (Blackfin Syntax): Remove "(r)" + +2019-05-16 Andre Vieira + + * config/tc-arm.c (check_simd_pred_availability): Refactor. + (do_neon_dyadic_i_su): Refactor use of check_simd_pred_availability. + (do_neon_dyadic_i64_su): Likewise. + (do_neon_shl): Likewise. + (do_neon_qshl): Likewise. + (do_neon_rshl): Likewise. + (do_neon_logic): Likewise. + (do_neon_dyadic_if_su): Likewise. + (do_neon_addsub_if_i): Likewise. + (do_neon_mac_maybe_scalar): Likewise. + (do_neon_fmac): Likewise. + (do_neon_mul): Likewise. + (do_neon_qdmulh): Likewise. + (do_neon_qrdmlah): Likewise. + (do_neon_abs_neg): Likewise. + (do_neon_sli): Likewise. + (do_neon_sri): Likewise. + (do_neon_qshlu_imm): Likewise. + (do_neon_cvt_1): Likewise. + (do_neon_cvttb_1): Likewise. + (do_neon_mvn): Likewise. + (do_neon_rev): Likewise. + (do_neon_dup): Likewise. + (do_neon_mov): Likewise. + (do_neon_rshift_round_imm): Likewise. + (do_neon_sat_abs_neg): Likewise. + (do_neon_cls): Likewise. + (do_neon_clz): Likewise. + (do_vmaxnm): Likewise. + (do_vrint_1): Likewise. + (do_vcmla): Likewise. + (do_vcadd): Likewise. + +2019-05-16 Andre Vieira + + * NEWS: Mention Armv8.1-M Mainline and MVE. + +2019-05-16 Andre Vieira + + * testsuite/gas/arm/mve-tailpredloop.d: New test. + * testsuite/gas/arm/mve-tailpredloop.s: New test. + * testsuite/gas/arm/mve-vabav.d: New test. + * testsuite/gas/arm/mve-vabav.s: New test. + * testsuite/gas/arm/mve-vabd.d: New test. + * testsuite/gas/arm/mve-vabd.s: New test. + * testsuite/gas/arm/mve-vabsneg.d: New test. + * testsuite/gas/arm/mve-vabsneg.s: New test. + * testsuite/gas/arm/mve-vadc.d: New test. + * testsuite/gas/arm/mve-vadc.s: New test. + * testsuite/gas/arm/mve-vaddlv.d: New test. + * testsuite/gas/arm/mve-vaddlv.s: New test. + * testsuite/gas/arm/mve-vaddsub.d: New test. + * testsuite/gas/arm/mve-vaddsub.s: New test. + * testsuite/gas/arm/mve-vaddv.d: New test. + * testsuite/gas/arm/mve-vaddv.s: New test. + * testsuite/gas/arm/mve-vand.d: New test. + * testsuite/gas/arm/mve-vand.s: New test. + * testsuite/gas/arm/mve-vbic.d: New test. + * testsuite/gas/arm/mve-vbic.s: New test. + * testsuite/gas/arm/mve-vbrsr.d: New test. + * testsuite/gas/arm/mve-vbrsr.s: New test. + * testsuite/gas/arm/mve-vcadd.d: New test. + * testsuite/gas/arm/mve-vcadd.s: New test. + * testsuite/gas/arm/mve-vcls.d: New test. + * testsuite/gas/arm/mve-vcls.s: New test. + * testsuite/gas/arm/mve-vclz.d: New test. + * testsuite/gas/arm/mve-vclz.s: New test. + * testsuite/gas/arm/mve-vcmla.d: New test. + * testsuite/gas/arm/mve-vcmla.s: New test. + * testsuite/gas/arm/mve-vcmp.d: New test. + * testsuite/gas/arm/mve-vcmp.s: New test. + * testsuite/gas/arm/mve-vcmul.d: New test. + * testsuite/gas/arm/mve-vcmul.s: New test. + * testsuite/gas/arm/mve-vcvt-1.d: New test. + * testsuite/gas/arm/mve-vcvt-1.s: New test. + * testsuite/gas/arm/mve-vcvt-2.d: New test. + * testsuite/gas/arm/mve-vcvt-2.s: New test. + * testsuite/gas/arm/mve-vcvt-3.d: New test. + * testsuite/gas/arm/mve-vcvt-3.s: New test. + * testsuite/gas/arm/mve-vcvt-4.d: New test. + * testsuite/gas/arm/mve-vcvt-4.s: New test. + * testsuite/gas/arm/mve-vddup.d: New test. + * testsuite/gas/arm/mve-vddup.s: New test. + * testsuite/gas/arm/mve-vdup.d: New test. + * testsuite/gas/arm/mve-vdup.s: New test. + * testsuite/gas/arm/mve-veor.d: New test. + * testsuite/gas/arm/mve-veor.s: New test. + * testsuite/gas/arm/mve-vfma-vfms.d: New test. + * testsuite/gas/arm/mve-vfma-vfms.s: New test. + * testsuite/gas/arm/mve-vfmas.d: New test. + * testsuite/gas/arm/mve-vfmas.s: New test. + * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.d: New test. + * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.s: New test. + * testsuite/gas/arm/mve-vhcadd.d: New test. + * testsuite/gas/arm/mve-vhcadd.s: New test. + * testsuite/gas/arm/mve-vmax-vmin.d: New test. + * testsuite/gas/arm/mve-vmax-vmin.s: New test. + * testsuite/gas/arm/mve-vmaxa-vmina.d: New test. + * testsuite/gas/arm/mve-vmaxa-vmina.s: New test. + * testsuite/gas/arm/mve-vmaxnm-vminnm.d: New test. + * testsuite/gas/arm/mve-vmaxnm-vminnm.s: New test. + * testsuite/gas/arm/mve-vmaxnma-vminnma.s: New test. + * testsuite/gas/arm/mve-vmaxnmv-vminnmv.d: New test. + * testsuite/gas/arm/mve-vmaxnmv-vminnmv.s: New test. + * testsuite/gas/arm/mve-vmaxv-vminv.d: New test. + * testsuite/gas/arm/mve-vmaxv-vminv.s: New test. + * testsuite/gas/arm/mve-vmla.d: New test. + * testsuite/gas/arm/mve-vmla.s: New test. + * testsuite/gas/arm/mve-vmladav.d: New test. + * testsuite/gas/arm/mve-vmladav.s: New test. + * testsuite/gas/arm/mve-vmlaldav.d: New test. + * testsuite/gas/arm/mve-vmlaldav.s: New test. + * testsuite/gas/arm/mve-vmlalv.d: New test. + * testsuite/gas/arm/mve-vmlalv.s: New test. + * testsuite/gas/arm/mve-vmlas.d: New test. + * testsuite/gas/arm/mve-vmlas.s: New test. + * testsuite/gas/arm/mve-vmlav.d: New test. + * testsuite/gas/arm/mve-vmlav.s: New test. + * testsuite/gas/arm/mve-vmlsdav.d: New test. + * testsuite/gas/arm/mve-vmlsdav.s: New test. + * testsuite/gas/arm/mve-vmlsldav.d: New test. + * testsuite/gas/arm/mve-vmlsldav.s: New test. + * testsuite/gas/arm/mve-vmov-1.d: New test. + * testsuite/gas/arm/mve-vmov-1.s: New test. + * testsuite/gas/arm/mve-vmov-2.d: New test. + * testsuite/gas/arm/mve-vmov-2.s: New test. + * testsuite/gas/arm/mve-vmul.d: New test. + * testsuite/gas/arm/mve-vmul.s: New test. + * testsuite/gas/arm/mve-vmulh.d: New test. + * testsuite/gas/arm/mve-vmulh.s: New test. + * testsuite/gas/arm/mve-vmullbt.d: New test. + * testsuite/gas/arm/mve-vmullbt.s: New test. + * testsuite/gas/arm/mve-vmvn.d: New test. + * testsuite/gas/arm/mve-vmvn.s: New test. + * testsuite/gas/arm/mve-vorn.d: New test. + * testsuite/gas/arm/mve-vorn.s: New test. + * testsuite/gas/arm/mve-vorr.d: New test. + * testsuite/gas/arm/mve-vorr.s: New test. + * testsuite/gas/arm/mve-vpnot.d: New test. + * testsuite/gas/arm/mve-vpnot.s: New test. + * testsuite/gas/arm/mve-vpsel.d: New test. + * testsuite/gas/arm/mve-vpsel.s: New test. + * testsuite/gas/arm/mve-vpt.d: New test. + * testsuite/gas/arm/mve-vpt.s: New test. + * testsuite/gas/arm/mve-vqabsneg.s: New test. + * testsuite/gas/arm/mve-vqaddsub.d: New test. + * testsuite/gas/arm/mve-vqaddsub.s: New test. + * testsuite/gas/arm/mve-vqdmladh.d: New test. + * testsuite/gas/arm/mve-vqdmladh.s: New test. + * testsuite/gas/arm/mve-vqdmlah.d: New test. + * testsuite/gas/arm/mve-vqdmlah.s: New test. + * testsuite/gas/arm/mve-vqdmlash.d: New test. + * testsuite/gas/arm/mve-vqdmlash.s: New test. + * testsuite/gas/arm/mve-vqdmlsdh.d: New test. + * testsuite/gas/arm/mve-vqdmlsdh.s: New test. + * testsuite/gas/arm/mve-vqdmulh.d: New test. + * testsuite/gas/arm/mve-vqdmulh.s: New test. + * testsuite/gas/arm/mve-vqdmull.d: New test. + * testsuite/gas/arm/mve-vqdmull.s: New test. + * testsuite/gas/arm/mve-vqmovn.d: New test. + * testsuite/gas/arm/mve-vqmovn.s: New test. + * testsuite/gas/arm/mve-vqrshl.d: New test. + * testsuite/gas/arm/mve-vqrshl.s: New test. + * testsuite/gas/arm/mve-vqrshrn.d: New test. + * testsuite/gas/arm/mve-vqrshrn.s: New test. + * testsuite/gas/arm/mve-vqshl.d: New test. + * testsuite/gas/arm/mve-vqshl.s: New test. + * testsuite/gas/arm/mve-vrev.d: New test. + * testsuite/gas/arm/mve-vrev.s: New test. + * testsuite/gas/arm/mve-vrint.d: New test. + * testsuite/gas/arm/mve-vrint.s: New test. + * testsuite/gas/arm/mve-vrmlaldavh.d: New test. + * testsuite/gas/arm/mve-vrmlaldavh.s: New test. + * testsuite/gas/arm/mve-vrshl.d: New test. + * testsuite/gas/arm/mve-vrshl.s: New test. + * testsuite/gas/arm/mve-vsbc.d: New test. + * testsuite/gas/arm/mve-vsbc.s: New test. + * testsuite/gas/arm/mve-vshl.d: New test. + * testsuite/gas/arm/mve-vshl.s: New test. + * testsuite/gas/arm/mve-vshlc.d: New test. + * testsuite/gas/arm/mve-vshlc.s: New test. + * testsuite/gas/arm/mve-vshll.d: New test. + * testsuite/gas/arm/mve-vshll.s: New test. + * testsuite/gas/arm/mve-vshr.d: New test. + * testsuite/gas/arm/mve-vshr.s: New test. + * testsuite/gas/arm/mve-vshrn.d: New test. + * testsuite/gas/arm/mve-vshrn.s: New test. + * testsuite/gas/arm/mve-vsli.d: New test. + * testsuite/gas/arm/mve-vsli.s: New test. + * testsuite/gas/arm/mve-vsri.d: New test. + * testsuite/gas/arm/mve-vsri.s: New test. + * testsuite/gas/arm/mve-vstld.d: New test. + * testsuite/gas/arm/mve-vstld.s: New test. + * testsuite/gas/arm/mve-vstrldr-1.d: New test. + * testsuite/gas/arm/mve-vstrldr-1.s: New test. + * testsuite/gas/arm/mve-vstrldr-2.d: New test. + * testsuite/gas/arm/mve-vstrldr-2.s: New test. + * testsuite/gas/arm/mve-vstrldr-3.d: New test. + * testsuite/gas/arm/mve-vstrldr-3.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (T16_32_TAB): Add new instructions. + (do_t_loloop): Changed to handle tail predication variants. + (md_apply_fix): Likewise. + (insns): Add entries for MVE mnemonics. + * testsuite/gas/arm/mve-tailpredloop-bad.d: New test. + * testsuite/gas/arm/mve-tailpredloop-bad.l: New test. + * testsuite/gas/arm/mve-tailpredloop-bad.s: New test. + * testsuite/gas/arm/mve-tailpredloop.d: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_mve_vshll): New encoding function. + (do_mve_vshlc): Likewise. + (insns): Add entries for MVE mnemonics. + * testsuite/gas/arm/mve-vshlc-bad.d: New test. + * testsuite/gas/arm/mve-vshlc-bad.l: New test. + * testsuite/gas/arm/mve-vshlc-bad.s: New test. + * testsuite/gas/arm/mve-vshll-bad.d: New test. + * testsuite/gas/arm/mve-vshll-bad.l: New test. + * testsuite/gas/arm/mve-vshll-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum operand_parse_code): Add new operand. + (parse_operands): Handle new operand. + (do_neon_shl_imm): Accept MVE variants. + (do_neon_shl): Likewise. + (do_neon_qshl_imm): Likewise. + (do_neon_qshl): Likewise. + (do_neon_qshlu_imm): Likewise. + (insns): Likewise. + * testsuite/gas/arm/mve-vqshl-bad.d: New test. + * testsuite/gas/arm/mve-vqshl-bad.l: New test. + * testsuite/gas/arm/mve-vqshl-bad.s: New test. + * testsuite/gas/arm/mve-vshl-bad.d: New test. + * testsuite/gas/arm/mve-vshl-bad.l: New test. + * testsuite/gas/arm/mve-vshl-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_neon_sli): Accept MVE variants. + (do_neon_sri): Likewise. + (do_neon_rev): Likewise. + (do_neon_rshift_round_imm): Likewise. + (insns): Likewise. + * testsuite/gas/arm/mve-vrev-bad.d: New test. + * testsuite/gas/arm/mve-vrev-bad.l: New test. + * testsuite/gas/arm/mve-vrev-bad.s: New test. + * testsuite/gas/arm/mve-vshr-bad.d: New test. + * testsuite/gas/arm/mve-vshr-bad.l: New test. + * testsuite/gas/arm/mve-vshr-bad.s: New test. + * testsuite/gas/arm/mve-vsli-bad.d: New test. + * testsuite/gas/arm/mve-vsli-bad.l: New test. + * testsuite/gas/arm/mve-vsli-bad.s: New test. + * testsuite/gas/arm/mve-vsri-bad.d: New test. + * testsuite/gas/arm/mve-vsri-bad.l: New test. + * testsuite/gas/arm/mve-vsri-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_vrint_1): Accept MVE variants. + (insns): Change entries to accept MVE variants. + * testsuite/gas/arm/mve-vrint-bad.d: New test. + * testsuite/gas/arm/mve-vrint-bad.l: New test. + * testsuite/gas/arm/mve-vrint-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (M_MNEM_vshrnt, M_MNEM_vshrnb, M_MNEM_vrshrnt, + M_MNEM_vqshrnt, M_MNEM_vqshrnb, M_MNEM_vqshrunt, M_MNEM_vqshrunb, + M_MNEM_vrshrnb, M_MNEM_vqrshrnt, M_MNEM_vqrshrnb, M_MNEM_vqrshrunt, + M_MNEM_vqrshrunb): New instruction encodings. + (do_mve_vshrn): New encoding function. + (insns): Add entries for MVE mnemonics. + * testsuite/gas/arm/mve-vqrshrn-bad.d: New test. + * testsuite/gas/arm/mve-vqrshrn-bad.l: New test. + * testsuite/gas/arm/mve-vqrshrn-bad.s: New test. + * testsuite/gas/arm/mve-vshrn-bad.d: New test. + * testsuite/gas/arm/mve-vshrn-bad.l: New test. + * testsuite/gas/arm/mve-vshrn-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (M_MNEM_vqmovnt, M_MNEM_vqmovnb, + M_MNEM_vqmovunt, M_MNEM_vqmovunb): New instruction encodings. + (do_mve_vqmovn): New encoding function. + (do_neon_rshl): Change to accepte MVE variants. + (insns): Change entries and add new for MVE mnemonics. + * testsuite/gas/arm/mve-vqmovn-bad.d: New test. + * testsuite/gas/arm/mve-vqmovn-bad.l: New test. + * testsuite/gas/arm/mve-vqmovn-bad.s: New test. + * testsuite/gas/arm/mve-vqrshl-bad.d: New test. + * testsuite/gas/arm/mve-vqrshl-bad.l: New test. + * testsuite/gas/arm/mve-vqrshl-bad.s: New test. + * testsuite/gas/arm/mve-vrshl-bad.d: New test. + * testsuite/gas/arm/mve-vrshl-bad.l: New test. + * testsuite/gas/arm/mve-vrshl-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum operand_parse_code): Add new operand. + (parse_operands): Handle new operand. + (do_mve_vqdmull): New encoding function. + (insns): Add entry for MVE mnemonics. + * testsuite/gas/arm/mve-vqdmull-bad.d: New test. + * testsuite/gas/arm/mve-vqdmull-bad.l: New test. + * testsuite/gas/arm/mve-vqdmull-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum operand_parse_code): Add new operand. + (parse_operands): Handle new operand. + (mve_encode_qqr): Handle new instructions. + (do_neon_qdmulh): Add support for MVE variants. + (do_neon_qrdmlah): Likewise. + (do_mve_vqdmlah): New encoding function. + (insns): Change entries and add new entries for MVE mnemonics. + * testsuite/gas/arm/mve-vqdmulh-bad.d: New test. + * testsuite/gas/arm/mve-vqdmulh-bad.l: New test. + * testsuite/gas/arm/mve-vqdmulh-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_mve_vqdmladh): New encoding function. + (insns): Add entries for MVE mnemonics. + * testsuite/gas/arm/mve-vqdmladh-bad.d: New test. + * testsuite/gas/arm/mve-vqdmladh-bad.l: New test. + * testsuite/gas/arm/mve-vqdmladh-bad.s: New test. + * testsuite/gas/arm/mve-vqdmlsdh-bad.d: New test. + * testsuite/gas/arm/mve-vqdmlsdh-bad.l: New test. + * testsuite/gas/arm/mve-vqdmlsdh-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_mve_vpsel): New encoding function. + (do_mve_vpnot): Likewise. + (insns): Add entries for MVE mnemonics. + * testsuite/gas/arm/mve-vpnot-bad.d: New test. + * testsuite/gas/arm/mve-vpnot-bad.l: New test. + * testsuite/gas/arm/mve-vpnot-bad.s: New test. + * testsuite/gas/arm/mve-vpsel-bad.d: New test. + * testsuite/gas/arm/mve-vpsel-bad.l: New test. + * testsuite/gas/arm/mve-vpsel-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_neon_mvn): Change to accept MVE variants. + (do_neon_sat_abs_neg): Likewise. + (insns): Likewise. + * testsuite/gas/arm/mve-vmvn-bad.d: New test. + * testsuite/gas/arm/mve-vmvn-bad.l: New test. + * testsuite/gas/arm/mve-vmvn-bad.s: New test. + * testsuite/gas/arm/mve-vqabsneg-bad.d: New test. + * testsuite/gas/arm/mve-vqabsneg-bad.l: New test. + * testsuite/gas/arm/mve-vqabsneg-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_mve_vmlas): New encoding function. + (do_mve_vmulh): Likewise. + (insns): Add entries for MVE mnemonics. + * testsuite/gas/arm/mve-vmlas-bad.d: New test. + * testsuite/gas/arm/mve-vmlas-bad.l: New test. + * testsuite/gas/arm/mve-vmlas-bad.s: New test. + * testsuite/gas/arm/mve-vmulh-bad.d: New test. + * testsuite/gas/arm/mve-vmulh-bad.l: New test. + * testsuite/gas/arm/mve-vmulh-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum operand_parse_code): New operand. + (parse_operands): Handle new operand. + (mve_encode_qqr): Handle new instructions. + (do_neon_dyadic_i64_su): Accept MVE variants. + (neon_dyadic_misc): Likewise. + (do_neon_mac_maybe_scalar): Likewise. + (do_neon_mul): Likewise. + (insns): Change to accept MVE variants. + * testsuite/gas/arm/mve-vmla-bad.d: New test. + * testsuite/gas/arm/mve-vmla-bad.l: New test. + * testsuite/gas/arm/mve-vmla-bad.s: New test. + * testsuite/gas/arm/mve-vmul-bad-1.d: New test. + * testsuite/gas/arm/mve-vmul-bad-1.l: New test. + * testsuite/gas/arm/mve-vmul-bad-1.s: New test. + * testsuite/gas/arm/mve-vmul-bad-2.d: New test. + * testsuite/gas/arm/mve-vmul-bad-2.l: New test. + * testsuite/gas/arm/mve-vmul-bad-2.s: New test. + * testsuite/gas/arm/mve-vqaddsub-bad.d: New test. + * testsuite/gas/arm/mve-vqaddsub-bad.l: New test. + * testsuite/gas/arm/mve-vqaddsub-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (M_MNEM_vmlaldav, M_MNEM_vmlaldava, + M_MNEM_vmlaldavx, M_MNEM_vmlaldavax, M_MNEM_vmlsldav, + M_MNEM_vmlsldava, M_MNEM_vmlsldavx, M_MNEM_vmlsldavax, + M_MNEM_vrmlaldavhx, M_MNEM_vrmlaldavhax, M_MNEM_vrmlsldavh, + M_MNEM_vrmlsldavha, M_MNEM_vrmlsldavhx, M_MNEM_vrmlsldavhax): New + instruction encodings. + (NEON_SHAPE_DEF): New shape + (mve_encode_rrqq): New encoding helper function. + (do_mve_vmlaldav): New encoding function. + (do_mve_vrmlaldavh): New encoding function. + (insns): Add entries for MVE mnemonics. + * testsuite/gas/arm/mve-vmlaldav-bad.d: New test. + * testsuite/gas/arm/mve-vmlaldav-bad.l: New test. + * testsuite/gas/arm/mve-vmlaldav-bad.s: New test. + * testsuite/gas/arm/mve-vmlalv-bad.d: New test. + * testsuite/gas/arm/mve-vmlalv-bad.l: New test. + * testsuite/gas/arm/mve-vmlalv-bad.s: New test. + * testsuite/gas/arm/mve-vmlsldav-bad.d: New test. + * testsuite/gas/arm/mve-vmlsldav-bad.l: New test. + * testsuite/gas/arm/mve-vmlsldav-bad.s: New test. + * testsuite/gas/arm/mve-vrmlaldavh-bad.d: New test. + * testsuite/gas/arm/mve-vrmlaldavh-bad.l: New test. + * testsuite/gas/arm/mve-vrmlaldavh-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (M_MNEM_vmaxv, M_MNEM_vmaxav, M_MNEM_vminv, + M_MNEM_vminav): New instruction encodings. + (do_mve_vmaxv): New encoding function. + (insns): Add entries for new MVE mnemonics. + * testsuite/gas/arm/mve-vmaxv-vminv-bad.d: New test. + * testsuite/gas/arm/mve-vmaxv-vminv-bad.l: New test. + * testsuite/gas/arm/mve-vmaxv-vminv-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_mve_vmaxnmv): New encoding function. + (insns): Add entries for new mnemonics. + * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.d: New test. + * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.l: New test. + * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_mve_vmaxa_vmina): New encoding function. + (do_mve_vmaxnma_vminnma): Likewise. + (do_neon_dyadic_if_su): Change to support MVE variants. + (do_vmaxnm): Likewise. + (insns): Change to accept MVE variants and add new. + * testsuite/gas/arm/mve-vmax-vmin-bad.d: New test. + * testsuite/gas/arm/mve-vmax-vmin-bad.l: New test. + * testsuite/gas/arm/mve-vmax-vmin-bad.s: New test. + * testsuite/gas/arm/mve-vmaxa-vmina-bad.d: New test. + * testsuite/gas/arm/mve-vmaxa-vmina-bad.l: New test. + * testsuite/gas/arm/mve-vmaxa-vmina-bad.s: New test. + * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.d: New test. + * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.l: New test. + * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.s: New test. + * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.d: New test. + * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.l: New test. + * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum operand_parse_code): New operand. + (parse_operands): Handle new operand. + (mve_encode_qqr): Change to support new instructions. + (enum vfp_or_neon_is_neon_bits): Moved. + (vfp_or_neon_is_neon): Moved. + (check_simd_pred_availability): Moved. + (do_neon_dyadic_i_su): Changed to support MVE variants. + (neon_dyadic_misc): Changed mve_encode_qqr call. + (do_mve_vbrsr): Likewise. + (do_mve_vhcadd): New encoding function. + (insns): Change existing to accept MVE variants and add new. + * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.d: New test. + * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.l: New test. + * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.s: New test. + * testsuite/gas/arm/mve-vhcadd-bad.d: New test. + * testsuite/gas/arm/mve-vhcadd-bad.l: New test. + * testsuite/gas/arm/mve-vhcadd-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_neon_fmac): Change to support MVE variants. + (insns): Change to accept MVE variants. + * testsuite/gas/arm/mve-vfma-vfms-bad.d: New test. + * testsuite/gas/arm/mve-vfma-vfms-bad.l: New test. + * testsuite/gas/arm/mve-vfma-vfms-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (M_MNEM_vddup, M_MNEM_vdwdup, M_MNEM_vidup, + M_MNEM_viwdup): New instruction encodings. + (NEON_SHAPE_DEF): New shapes. + (do_mve_viddup): New encoding function. + (do_neon_dup): Change to support new MVE variants. + (insns): Change existing to accept MVE variants and add new. + * testsuite/gas/arm/mve-vddup-bad.d: New test. + * testsuite/gas/arm/mve-vddup-bad.l: New test. + * testsuite/gas/arm/mve-vddup-bad.s: New test. + * testsuite/gas/arm/mve-vdup-bad.d: New test. + * testsuite/gas/arm/mve-vdup-bad.l: New test. + * testsuite/gas/arm/mve-vdup-bad.s: New test. + * testsuite/gas/arm/mve-vidup-bad.d: New test. + * testsuite/gas/arm/mve-vidup-bad.l: New test. + * testsuite/gas/arm/mve-vidup-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_mve_vfmas): New encoding function. + (do_neon_cls): Change to support MVE variants. + (do_neon_clz): Change to support MVE variants. + (insns): Change to support MVE variants and add new. + * testsuite/gas/arm/mve-vcls-bad.d: New test. + * testsuite/gas/arm/mve-vcls-bad.l: New test. + * testsuite/gas/arm/mve-vcls-bad.s: New test. + * testsuite/gas/arm/mve-vclz-bad.d: New test. + * testsuite/gas/arm/mve-vclz-bad.l: New test. + * testsuite/gas/arm/mve-vclz-bad.s: New test. + * testsuite/gas/arm/mve-vfmas-bad.d: New test. + * testsuite/gas/arm/mve-vfmas-bad.l: New test. + * testsuite/gas/arm/mve-vfmas-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum operand_parse_code): New operands. + (parse_operands): Handle new operands. + (do_mve_vcmul): New encoding function. + (do_vcmla): Change to support MVE variants. + (do_vcadd): Change to support MVE variants. + (insns): Change existing to support MVE variants and add new. + * testsuite/gas/arm/mve-vcadd-bad-1.d: New test. + * testsuite/gas/arm/mve-vcadd-bad-1.l: New test. + * testsuite/gas/arm/mve-vcadd-bad-1.s: New test. + * testsuite/gas/arm/mve-vcadd-bad-2.d: New test. + * testsuite/gas/arm/mve-vcadd-bad-2.l: New test. + * testsuite/gas/arm/mve-vcadd-bad-2.s: New test. + * testsuite/gas/arm/mve-vcmla-bad-1.d: New test. + * testsuite/gas/arm/mve-vcmla-bad-1.l: New test. + * testsuite/gas/arm/mve-vcmla-bad-1.s: New test. + * testsuite/gas/arm/mve-vcmla-bad-2.d: New test. + * testsuite/gas/arm/mve-vcmla-bad-2.l: New test. + * testsuite/gas/arm/mve-vcmla-bad-2.s: New test. + * testsuite/gas/arm/mve-vcmul-bad-1.d: New test. + * testsuite/gas/arm/mve-vcmul-bad-1.l: New test. + * testsuite/gas/arm/mve-vcmul-bad-1.s: New test. + * testsuite/gas/arm/mve-vcmul-bad-2.d: New test. + * testsuite/gas/arm/mve-vcmul-bad-2.l: New test. + * testsuite/gas/arm/mve-vcmul-bad-2.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum operand_parse_code): New operands. + (parse_operands): Handle new operands. + (enum vfp_or_neon_is_neon_bits): Moved + (vfp_or_neon_is_neon): Moved + (check_simd_pred_availability): Moved. + (do_neon_logic): Change to accept MVE variants. + (insns): Changed to accept MVE variants. + * testsuite/gas/arm/mve-vand-bad.d: New test. + * testsuite/gas/arm/mve-vand-bad.l: New test. + * testsuite/gas/arm/mve-vand-bad.s: New test. + * testsuite/gas/arm/mve-vbic-bad.d: New test. + * testsuite/gas/arm/mve-vbic-bad.l: New test. + * testsuite/gas/arm/mve-vbic-bad.s: New test. + * testsuite/gas/arm/mve-veor-bad.d: New test. + * testsuite/gas/arm/mve-veor-bad.l: New test. + * testsuite/gas/arm/mve-veor-bad.s: New test. + * testsuite/gas/arm/mve-vorn-bad.d: New test. + * testsuite/gas/arm/mve-vorn-bad.l: New test. + * testsuite/gas/arm/mve-vorn-bad.s: New test. + * testsuite/gas/arm/mve-vorr-bad.d: New test. + * testsuite/gas/arm/mve-vorr-bad.l: New test. + * testsuite/gas/arm/mve-vorr-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (M_MNEM_vaddlv, M_MNEM_vaddlva, M_MNEM_vaddv, + M_MNEM_vaddva): New instruction encodings. + (mve_encode_rq): New encoding helper function. + (do_mve_vaddlv): New encoding function. + (do_mve_vaddv): New encoding function. + * testsuite/gas/arm/mve-vaddlv-bad.d: New test. + * testsuite/gas/arm/mve-vaddlv-bad.l: New test. + * testsuite/gas/arm/mve-vaddlv-bad.s: New test. + * testsuite/gas/arm/mve-vaddv-bad.d: New test. + * testsuite/gas/arm/mve-vaddv-bad.l: New test. + * testsuite/gas/arm/mve-vaddv-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (M_MNEM_vadc, M_MNEM_vadci, M_MNEM_vbrsr): + New instruction encodings. + (do_mve_vadc): New encoding instruction. + (do_mve_vbrsr): Likewise. + (do_mve_vsbc): Likewise. + * testsuite/gas/arm/mve-vadc-bad.d: New test. + * testsuite/gas/arm/mve-vadc-bad.l: New test. + * testsuite/gas/arm/mve-vadc-bad.s: New test. + * testsuite/gas/arm/mve-vbrsr-bad.d: New test. + * testsuite/gas/arm/mve-vbrsr-bad.l: New test. + * testsuite/gas/arm/mve-vbrsr-bad.s: New test. + * testsuite/gas/arm/mve-vsbc-bad.d: New test. + * testsuite/gas/arm/mve-vsbc-bad.l: New test. + * testsuite/gas/arm/mve-vsbc-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (MVE_BAD_QREG): New error message. + (enum operand_parse_code): Define new operand. + (parse_operands): Handle new operand. + (do_mve_vpt): Change for VPT blocks. + (NEON_SHAPE_DEF): New shape. + (neon_logbits): Moved. + (LOW4): Moved + (HI1): Moved + (mve_get_vcmp_vpt_cond): New function to translate vpt conditions. + (do_mve_vcmp): New encoding function. + (do_vfp_nsyn_cmp): Changed to support MVE variants. + (insns): Change to support MVE variants of vcmp and add vpt. + * testsuite/gas/arm/mve-vcmp-bad-1.d: New test. + * testsuite/gas/arm/mve-vcmp-bad-1.l: New test. + * testsuite/gas/arm/mve-vcmp-bad-1.s: New test. + * testsuite/gas/arm/mve-vcmp-bad-2.d: New test. + * testsuite/gas/arm/mve-vcmp-bad-2.l: New test. + * testsuite/gas/arm/mve-vcmp-bad-2.s: New test. + * testsuite/gas/arm/mve-vpt-bad-1.d: New test. + * testsuite/gas/arm/mve-vpt-bad-1.l: New test. + * testsuite/gas/arm/mve-vpt-bad-1.s: New test. + * testsuite/gas/arm/mve-vpt-bad-2.d: New test. + * testsuite/gas/arm/mve-vpt-bad-2.l: New test. + * testsuite/gas/arm/mve-vpt-bad-2.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (struct arm_it): Expand isscalar field to be able to + distinguish between types of scalar. + (parse_typed_reg_or_scalar): Change to accept MVE scalar variants. + (parse_scalar): Likewise. + (parse_neon_mov): Accept MVE variant. + (po_scalar_or_goto): Make use reg_type. + (parse_operands): Change uses of po_scalar_or_goto. + (do_vfp_sp_monadic): Change to accept MVE variants. + (do_vfp_reg_from_sp): Likewise. + (do_vfp_sp_from_reg): Likewise. + (do_vfp_dp_rd_rm): Likewise. + (do_vfp_dp_rd_rn_rm): Likewise. + (do_vfp_dp_rm_rd_rn): Likewise. + (M_MNEM_vmovlt, M_MNEM_vmovlb, M_MNEM_vmovnt, M_MNEM_vmovnb): New + instruction encodings. + (NEON_SHAPE_DEF): New shape. + (do_mve_mov): New encoding fuction. + (do_mve_movn): Likewise. + (do_mve_movl): Likewise. + (do_neon_mov): Change to accept MVE variants. + (mcCE): New MACRO. + (insns): Accept new MVE variants and instructions. + * testsuite/gas/arm/mve-vmov-bad-1.d: New test. + * testsuite/gas/arm/mve-vmov-bad-1.l: New test. + * testsuite/gas/arm/mve-vmov-bad-1.s: New test. + * testsuite/gas/arm/mve-vmov-bad-2.d: New test. + * testsuite/gas/arm/mve-vmov-bad-2.l: New test. + * testsuite/gas/arm/mve-vmov-bad-2.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum operand_parse_code): Add new operand. + (parse_operands): Handle new operand. + (do_neon_cvt_1): Handle MVE variants. + (do_neon_cvttb_1): Likewise. + (insns): Accept MVE variants. + * testsuite/gas/arm/mve-vcvt-bad-1.d: New test. + * testsuite/gas/arm/mve-vcvt-bad-1.l: New test. + * testsuite/gas/arm/mve-vcvt-bad-1.s: New test. + * testsuite/gas/arm/mve-vcvt-bad-2.d: New test. + * testsuite/gas/arm/mve-vcvt-bad-2.l: New test. + * testsuite/gas/arm/mve-vcvt-bad-2.s: New test. + * testsuite/gas/arm/mve-vcvt-bad-3.d: New test. + * testsuite/gas/arm/mve-vcvt-bad-3.l: New test. + * testsuite/gas/arm/mve-vcvt-bad-3.s: New test. + * testsuite/gas/arm/mve-vcvt-bad-4.d: New test. + * testsuite/gas/arm/mve-vcvt-bad-4.l: New test. + * testsuite/gas/arm/mve-vcvt-bad-4.s: New test. + * testsuite/gas/arm/mve-vcvt-bad.d: New test. + * testsuite/gas/arm/mve-vcvt-bad.l: New test. + * testsuite/gas/arm/mve-vcvt-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (struct arm_it): Make immisreg field larger to hold + type of register. + (enum shift_kind): Add SHIFT_UXTW shift kind. + (enum parse_shift_mode): Add SHIFT_UXTW_IMMEDIATE shift mode. + (parse_shift): Handle new shift type. + (parse_address_main): Accept new addressing modes. + (M_MNEM_vstrb, M_MNEM_vstrh, M_MNEM_vstrw, M_MNEM_vstrd, + M_MNEM_vldrb, M_MNEM_vldrh, M_MNEM_vldrw, M_MNEM_vldrd): New + instruction encodings. + (do_mve_vstr_vldr_QI): New encoding functions. + (do_mve_vstr_vldr_RQ): Likewise. + (do_mve_vstr_vldr_RI): Likewise. + (do_mve_vstr_vldr): Likewise. + * testsuite/gas/arm/mve-vldr-bad-1.d: New test. + * testsuite/gas/arm/mve-vldr-bad-1.l: New test. + * testsuite/gas/arm/mve-vldr-bad-1.s: New test. + * testsuite/gas/arm/mve-vldr-bad-2.d: New test. + * testsuite/gas/arm/mve-vldr-bad-2.l: New test. + * testsuite/gas/arm/mve-vldr-bad-2.s: New test. + * testsuite/gas/arm/mve-vldr-bad-3.d: New test. + * testsuite/gas/arm/mve-vldr-bad-3.l: New test. + * testsuite/gas/arm/mve-vldr-bad-3.s: New test. + * testsuite/gas/arm/mve-vstr-bad-1.d: New test. + * testsuite/gas/arm/mve-vstr-bad-1.l: New test. + * testsuite/gas/arm/mve-vstr-bad-1.s: New test. + * testsuite/gas/arm/mve-vstr-bad-2.d: New test. + * testsuite/gas/arm/mve-vstr-bad-2.l: New test. + * testsuite/gas/arm/mve-vstr-bad-2.s: New test. + * testsuite/gas/arm/mve-vstr-bad-3.d: New test. + * testsuite/gas/arm/mve-vstr-bad-3.l: New test. + * testsuite/gas/arm/mve-vstr-bad-3.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum it_instruction_type): Add MVE_UNPREDICABLE_INSN. + (BAD_EL_TYPE): New error message. + (parse_neon_el_struct_list): Adapt to be able to accept MVE variant. + (parse_address_main): Likewise. + (group_reloc_type): Add GROUP_MVE. + (enum operand_parse_code): Add new operands. + (parse_operands): Handle new operands. + (M_MNEM_vst20, M_MNEM_vst21, M_MNEM_vst40, M_MNEM_vst41, M_MNEM_vst42, + M_MNEM_vst43, M_MNEM_vld20, M_MNEM_vld21, M_MNEM_vld40, M_MNEM_vld41, + M_MNEM_vld42, M_MNEM_vld43): New encodings. + (do_mve_vst_vld): New encoding function. + (do_neon_ld_st_interleave): Use BAD_EL_TYPE. + (it_fsm_pre_encode): Handle new it_instruction_type + (handle_pred_state): Likewise. + * testsuite/gas/arm/mve-vstld-bad.d: New test. + * testsuite/gas/arm/mve-vstld-bad.l: New test. + * testsuite/gas/arm/mve-vstld-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (BAD_MVE_AUTO): New error message. + (BAD_MVE_SRCDEST): Likewise. + (mark_feature_used): Diagnose MVE only instructions when in + auto-detection mode or -march=all. + (enum operand_parse_code): Define new operand. + (parse_operands): Handle new operand. + (M_MNEM_vmullt, M_MNEM_vmullb): New encodings. + (mve_encode_qqq): New encoding helper function. + (do_mve_vmull): New encoding function. + (insns): Handle new instructions. + * testsuite/gas/arm/mve-vmullbt-bad.d: New test. + * testsuite/gas/arm/mve-vmullbt-bad.l: New test. + * testsuite/gas/arm/mve-vmullbt-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (struct asm_opcode): Make avalue a full int. + (BAD_ODD, BAD_EVEN, BAD_SIMD_TYPE): New errors. + (enum operand_parse_code): Handle new operands. + (parse_operands): Likewise. + (M_MNEM_vabav, M_MNEM_vmladav, M_MNEM_vmladava, M_MNEM_vmladavx, + M_MNEM_vmladavax, M_MNEM_vmlsdav, M_MNEM_vmlsdava, M_MNEM_vmlsdavx, + M_MNEM_vmlsdavax): Define new encodings. + (NEON_SHAPE_DEF): Add new shape. + (neon_check_type): Use BAD_SIMD_TYPE. + (mve_encode_rqq): New encoding helper function. + (do_mve_vabav, do_mve_vmladav): New encoding functions. + (mCEF): New MACRO. + * testsuite/gas/arm/mve-vabav-bad.d: New test. + * testsuite/gas/arm/mve-vabav-bad.l: New test. + * testsuite/gas/arm/mve-vabav-bad.s: New test. + * testsuite/gas/arm/mve-vmladav-bad.d: New test. + * testsuite/gas/arm/mve-vmladav-bad.l: New test. + * testsuite/gas/arm/mve-vmladav-bad.s: New test. + * testsuite/gas/arm/mve-vmlav-bad.d: New test. + * testsuite/gas/arm/mve-vmlav-bad.l: New test. + * testsuite/gas/arm/mve-vmlav-bad.s: New test. + * testsuite/gas/arm/mve-vmlsdav-bad.d: New test. + * testsuite/gas/arm/mve-vmlsdav-bad.l: New test. + * testsuite/gas/arm/mve-vmlsdav-bad.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (do_neon_abs_neg): Make it accept MVE variant. + (insns): Change vabs and vneg entries to accept MVE variants. + * testsuite/gas/arm/mve-vabsneg-bad-1.d: New test. + * testsuite/gas/arm/mve-vabsneg-bad-1.l: New test. + * testsuite/gas/arm/mve-vabsneg-bad-1.s: New test. + * testsuite/gas/arm/mve-vabsneg-bad-2.d: New test. + * testsuite/gas/arm/mve-vabsneg-bad-2.l: New test. + * testsuite/gas/arm/mve-vabsneg-bad-2.s: New test. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (enum it_instruction_type): Rename to... + (enum pred_instruction_type): ... this. Include VPT types. + (it_insn_type): Rename to ... + (pred_insn_type): .. this. + (arm_it): Change comment. + (enum arm_reg_type): Add new value. + (reg_expected_msgs): New entry. + (asm_opcode): Add mayBeVecPred member. + (BAD_SYNTAX, BAD_NOT_VPT, BAD_OUT_VPT, BAD_VPT_COND, MVE_NOT_IT, + MVE_NOT_VPT, MVE_BAD_PC, MVE_BAD_SP): New diagnostic MACROS. + (arm_vcond_hsh): New table for vector condition codes. + (now_it): Rename to ... + (now_pred): ... this. + (now_it_compatible): Rename to ... + (now_pred_compatible): ... this. + (in_it_block): Rename to ... + (in_pred_block): ... this. + (handle_it_state): Rename to ... + (handle_pred_state): ... this. And change it to accept VPT blocks. + (set_it_insn_type): Rename to ... + (set_pred_insn_type): ... this. + (set_it_insn_type_nonvoid): Rename to ... + (set_pred_insn_type_nonvoid): ... this. + (set_it_insn_type_last): Rename to ... + (set_pred_insn_type_last): ... this. + (record_feature_use): Moved. + (mark_feature_used): Likewise. + (parse_typed_reg_or_scalar): Add new case for REG_TYPE_MQ. + (emit_insn): Use renamed functions and variables. + (enum operand_parse_code): Add new operands. + (parse_operands): Handle new operands. + (do_scalar_fp16_v82_encode): Change predication detection. + (do_it): Use renamed functions and variables. + (do_t_add_sub): Likewise. + (do_t_arit3): Likewise. + (do_t_arit3c): Likewise. + (do_t_blx): Likewise. + (do_t_branch): Likewise. + (do_t_bkpt_hlt1): Likewise. + (do_t_branch23): Likewise. + (do_t_bx): Likewise. + (do_t_bxj): Likewise. + (do_t_cond): Likewise. + (do_t_csdb): Likewise. + (do_t_cps): Likewise. + (do_t_cpsi): Likewise. + (do_t_cbz): Likewise. + (do_t_it): Likewise. + (do_mve_vpt): New function to handle VPT blocks. + (encode_thumb2_multi): Use renamed functions and variables. + (do_t_ldst): Use renamed functions and variables. + (do_t_mov_cmp): Likewise. + (do_t_mvn_tst): Likewise. + (do_t_mul): Likewise. + (do_t_nop): Likewise. + (do_t_neg): Likewise. + (do_t_rsb): Likewise. + (do_t_setend): Likewise. + (do_t_shift): Likewise. + (do_t_smc): Likewise. + (do_t_tb): Likewise. + (do_t_udf): Likewise. + (do_t_loloop): Likewise. + (do_neon_cvt_1): Likewise. + (do_vfp_nsyn_cvt_fpv8): Likewise. + (do_vsel): Likewise. + (do_vmaxnm): Likewise. + (do_vrint_1): Likewise. + (do_crypto_2op_1): Likewise. + (do_crypto_3op_1): Likewise. + (do_crc32_1): Likewise. + (it_fsm_pre_encode): Likewise. + (it_fsm_post_encode): Likewise. + (force_automatic_it_block_close): Likewise. + (check_it_blocks_finished): Likewise. + (check_pred_blocks_finished): Likewise. + (arm_cleanup): Likewise. + (now_it_add_mask): Rename to ... + (now_pred_add_mask): ... this. And use new variables and functions. + (NEON_ENC_TAB): Add entries for vabdl, vaddl and vsubl. + (N_I_MVE, N_F_MVE, N_SU_MVE): New MACROs. + (neon_check_type): Generalize error message. + (mve_encode_qqr): New MVE generic encoding function. + (neon_dyadic_misc): Change to accept MVE variants. + (do_neon_dyadic_if_su): Likewise. + (do_neon_addsub_if_i): Likewise. + (do_neon_dyadic_long): Likewise. + (vfp_or_neon_is_neon): Add extra checks. + (check_simd_pred_availability): Helper function to check SIMD + instruction availability with respect to predication. + (enum opcode_tag): New suffix value. + (opcode_lookup): Change to handle VPT blocks. + (new_automatic_it_block): Rename to ... + (close_automatic_it_block): ...this. + (TxCE, TxC3, TxC3w, TUE, TUEc, TUF, CE, C3, ToC, ToU, + toC, toU, CL, cCE, cCL, C3E, xCM_, UE, UF, NUF, nUF, + NCE_tag, NCE, NCEF, nCE_tag, nCE, nCEF): Add default value for new + field. + (mCEF, mnCEF, mnCE, MNUF, mnUF, mToC, MNCE, MNCEF): New MACROs. + (insns): Redefine vadd, vsub, cabd, vabdl, vaddl, vsubl to accept MVE + variants. Add entries for vscclrm, and vpst. + (md_begin): Add arm_vcond_hsh initialization. + * config/tc-arm.h (enum it_state): Rename to... + (enum pred_state): ...this. + (struct current_it): Rename to... + (struct current_pred): ...this. + (enum pred_type): New enum. + (struct arm_segment_info_type): Use current_pred. + * testsuite/gas/arm/armv8_3-a-fp-bad.l: Update error message. + * testsuite/gas/arm/armv8_3-a-simd-bad.l: Update error message. + * testsuite/gas/arm/dotprod-illegal.l: Update error message. + * testsuite/gas/arm/mve-vaddsubabd-bad-1.d: New test. + * testsuite/gas/arm/mve-vaddsubabd-bad-1.l: New test. + * testsuite/gas/arm/mve-vaddsubabd-bad-1.s: New test. + * testsuite/gas/arm/mve-vaddsubabd-bad-2.d: New test. + * testsuite/gas/arm/mve-vaddsubabd-bad-2.l: New test. + * testsuite/gas/arm/mve-vaddsubabd-bad-2.s: New test. + * testsuite/gas/arm/mve-vpst-bad.d: New test. + * testsuite/gas/arm/mve-vpst-bad.l: New test. + * testsuite/gas/arm/mve-vpst-bad.s: New test. + * testsuite/gas/arm/neon-ldst-es-bad.l: Updated error message. + +2019-05-16 Andre Vieira + + * config/tc-arm.c (mve_ext, mve_fp_ext): New features. + (armv8_1m_main_ext_table): Add new extensions. + (aeabi_set_public_attributes): Translate new features to new build attributes. + (arm_convert_symbolic_attribute): Add Tag_MVE_arch. + * doc/c-arm.texi: Document new extensions and new build attribute. + +2019-05-15 John Darrington + + * config/tc-s12z.c (register_prefix): New variable. (md_show_usage, + md_parse_option): parse the new option. + (lex_reg_name): Scan the prefix if one is set. + * doc/c-s12z.texi (S12Z-Opts): Document the new option. + * testsuite/gas/s12z/reg-prefix.d: New file. + * testsuite/gas/s12z/reg-prefix.s: New file. + * testsuite/gas/s12z/s12z.exp: Add them. + +2019-05-14 John Darrington + + * doc/as.texi (Machine Dependencies): Fix misaligned menu entry. + +2019-05-15 Alan Modra + + * config/tc-csky.c (md_convert_frag): Initialise trailing + padding for COND_JUMP_PIC. + +2019-05-15 Alan Modra + + * dwarf2dbg.c: Whitespace fixes. + (get_filenum): Don't strdup "file". Adjust error message. + (dwarf2_directive_filename): Use an unsigned type for "num". + Catch truncation of file number and overflow of get_filenum + XRESIZEVEC multiplication. Delete dead code. + +2019-05-15 Alan Modra + + PR 24538 + * config/tc-tic54x.c (tic54x_start_line_hook): Do skip end of line + chars in setting endp. + +2019-05-14 Nick Clifton + + PR 24538 + * config/tc-i386-intel.c (i386_intel_simplify_register): Reject + illegal register numbers. + +2019-05-10 Nick Clifton + + PR 24538 + * macro.c (get_any_string): Increase size of buffer used to hold + decimal value of expression result. + * dw2gencfi.c (get_debugseg_name): Handle an empty name. + * dwarf2dbg.c (get_filenum): Catch integer wraparound when + extending allocate file array. + (dwarf2_directive_filename): Add extra checks of the computed file + number. + * config/tc-arm.c (arm_tc_equal_in_insn): Insert copy of name into + warning hash table. + (s_arm_eabi_attribute): Check for obj_elf_vendor_attribute + returning -1. + * config/tc-i386.c (i386_output_nops): Catch an attempt to + generate nops of negative lengths. + * as.h (MAX_LITTLENUMS): Move definition to here from... + * config/atof-ieee.c: ...here. + * config/tc-aarch64.c: ...here. + * config/tc-arc.c: ...here. + * config/tc-arm.c: ...here. + * config/tc-epiphany.c: ...here. + * config/tc-i386.c: ...here. + * config/tc-ia64.c: ...here. (And correct the value). + * config/tc-m32c.c: ...here. + * config/tc-m32r.c: ...here. + * config/tc-metag.c: ...here. + * config/tc-microblaze.c: ...here. + * config/tc-nds32.c: ...here. + * config/tc-or1k.c: ...here. + * config/tc-score.c: ...here. + * config/tc-score7.c: ...here. + * config/tc-tic4x.c: ...here. + * config/tc-tilegx.c: ...here. + * config/tc-tilepro.c: ...here. + * config/tc-visium.c: ...here. + * config/tc-sh.c (md_assemble): Add check for an instruction with + no opcodes. + * config/tc-mips.c (mips_lookup_insn): Add check for very short + instruction name. + * config/tc-tic54x.c: Use unsigned chars to access is_end_of_line + array. + (tic54x_start_line_hook): Check for an empty line. + (next_line_shows_parallel): Do not walk off the end of the string. + (tic54x_macro_start): Check for too much macro nesting. + (tic54x_start_label): Add label_start parameter. Use this + parameter to check the first character of the label. + + * config/tc-tic54x.h (TC_START_LABEL_WITHOUT_COLON): Pass + line_start variable to tic54x_start_label. + +2019-05-10 Faraz Shahbazker + + * config/tc-mips.c (macro) : + Add expansions for MIPS r6. + * testsuite/gas/mips/add.s: Enable tests for R6. + * testsuite/gas/mips/daddi.s: Annotate to test DADD for R6. + * testsuite/gas/mips/mipsr6@add.d: Likewise. + * gas/testsuite/gas/mips/mipsr6@dadd.d: New test. + * gas/testsuite/gas/mips/mips.exp: Run the new test. + +2019-05-09 Matthew Malcomson + + * testsuite/gas/aarch64/sve2.d: Remove file format restriction. + +2019-05-09 Matthew Malcomson + + * testsuite/gas/aarch64/illegal-sve2-aes.d: New test. + * testsuite/gas/aarch64/illegal-sve2-bitperm.d: New test. + * testsuite/gas/aarch64/illegal-sve2-sha3.d: Test new instructions. + * testsuite/gas/aarch64/illegal-sve2-sm4.d: Test new instructions. + * testsuite/gas/aarch64/illegal-sve2-sve1ext.d: Test new instructions. + * testsuite/gas/aarch64/illegal-sve2-sve1ext.l: Test new instructions. + * testsuite/gas/aarch64/illegal-sve2.d: Test new instructions. + * testsuite/gas/aarch64/illegal-sve2.l: Test new instructions. + * testsuite/gas/aarch64/illegal-sve2.s: Test new instructions. + * testsuite/gas/aarch64/sve1-extended-sve2.s: New test. + * testsuite/gas/aarch64/sve2.d: Test new instructions. + * testsuite/gas/aarch64/sve2.s: Test new instructions. + +2019-05-09 Matthew Malcomson + + * config/tc-aarch64.c (parse_operands): Handle new SVE_SHLIMM_UNPRED_22 + operand. + +2019-05-09 Matthew Malcomson + + * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm4_11_INDEX + operand. + +2019-05-09 Matthew Malcomson + + * config/tc-aarch64.c (parse_operands): Handle new SVE_SHRIMM_UNPRED_22 + operand. + +2019-05-09 Matthew Malcomson + + * config/tc-aarch64.c (REG_ZR): Macro specifying zero register. + (parse_address_main): Account for new addressing mode [Zn.S, Xm]. + (parse_operands): Handle new SVE_ADDR_ZX operand. + +2019-05-09 Matthew Malcomson + + * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm3_11_INDEX + operand. + +2019-05-09 Matthew Malcomson + + * config/tc-aarch64.c (parse_operands): Handle new SVE_IMM_ROT3 operand. + +2019-05-09 Matthew Malcomson + + * config/tc-aarch64.c: Add command line architecture feature flags + "sve2", "sve2-sm4", "sve2-aes", "sve2-sha3", "bitperm". + * doc/c-aarch64.texi: Document new architecture feature flags. + +2019-05-08 Alan Modra + + * testsuite/gas/elf/dwarf2-1.s, + * testsuite/gas/elf/dwarf2-2.s, + * testsuite/gas/elf/dwarf2-5.s, + * testsuite/gas/elf/dwarf2-7.s, + * testsuite/gas/elf/dwarf2-8.s, + * testsuite/gas/elf/dwarf2-9.s, + * testsuite/gas/elf/dwarf2-10.s, + * testsuite/gas/elf/dwarf2-11.s, + * testsuite/gas/elf/dwarf2-12.s, + * testsuite/gas/elf/dwarf2-13.s, + * testsuite/gas/elf/dwarf2-14.s, + * testsuite/gas/elf/dwarf2-15.s, + * testsuite/gas/elf/dwarf2-16.s, + * testsuite/gas/elf/dwarf2-17.s, + * testsuite/gas/elf/dwarf2-18.s, + * testsuite/gas/elf/dwarf2-19.s: Double size of align and simulated + instructions. + * testsuite/gas/elf/dwarf2-1.d, + * testsuite/gas/elf/dwarf2-2.d, + * testsuite/gas/elf/dwarf2-5.d, + * testsuite/gas/elf/dwarf2-7.d, + * testsuite/gas/elf/dwarf2-8.d, + * testsuite/gas/elf/dwarf2-9.d, + * testsuite/gas/elf/dwarf2-10.d, + * testsuite/gas/elf/dwarf2-11.d, + * testsuite/gas/elf/dwarf2-12.d, + * testsuite/gas/elf/dwarf2-13.d, + * testsuite/gas/elf/dwarf2-14.d, + * testsuite/gas/elf/dwarf2-15.d, + * testsuite/gas/elf/dwarf2-16.d, + * testsuite/gas/elf/dwarf2-17.d, + * testsuite/gas/elf/dwarf2-18.d, + * testsuite/gas/elf/dwarf2-19.d: Use xfail rather than notarget. + Remove avr, pru, tile, xtensa from xfails. Update expected output. + * testsuite/gas/elf/elf.exp: Sort targets. + (dump_opts): Pass {as -mno-relax} for riscv, {as -mno-link-relax} + for avr and pru, and {as --no-link-relax} for xtensa to dwarf tests. + * testsuite/gas/elf/section2.e-miwmmxt: Delete unused file. + +2019-05-08 Alan Modra + + * config/tc-xtensa.c (opt_linkrelax): New variable. + (md_parse_option): Set it here. + (md_begin): Copy opt_linkrelax to linkrelax. + +2019-05-07 Alexandre Oliva + + * testsuite/gas/elf/dwarf2-18.d: Xfail mep-*. + * testsuite/gas/elf/dwarf2-19.d: Likewise. + +2019-05-07 Alan Modra + + * symbols.c (use_complex_relocs_for): Formatting. Factor out + X_add_symbol tests. + +2019-05-06 Andrew Bennett + Faraz Shahbazker + + * config/tc-mips.c (mips_set_ase): Handle ASE_EVA_R6. + (macro) : New cases. + (mips_after_parse_args): Translate EVA to EVA_R6. + * testsuite/gas/mips/ase-errors-1.s: Add new instructions. + * testsuite/gas/mips/eva.s: Likewise. + * testsuite/gas/mips/ase-errors-1.l: Check errors for + new instructions. + * testsuite/gas/mips/mipsr6@eva.d: Check new test cases. + +2019-05-06 Alan Modra + + * symbols.c (symbol_relc_make_sym): Do not access sym->sy_value + directly. + +2019-05-06 Alan Modra + + * config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT + relocs, and VLE sdarel relocs. + * testsuite/gas/ppc/power4.d: Adjust. + +2019-05-05 Alexandre Oliva + + * dwarf2dbg.c (set_or_check_view): Skip heads when assigning + views of prior locs. + (dwarf2_gen_line_info_1): Skip heads. + (size_inc_line_addr, emit_inc_line_addr): Drop + DW_LNS_advance_pc for zero addr delta. + (dwarf2_finish): Assign views for heads of segments. + * testsuite/gas/elf/dwarf2-19.d: New. + * testsuite/gas/elf/dwarf2-19.s: New. + * testsuite/gas/elf/elf.exp: Test it. + +2019-05-04 Alan Modra + + * config/tc-m32c.c (insn_size): Delete static var. + (md_begin): Don't set it. + (m32c_md_end): Delete. + (md_assemble): Add insn_size auto var. + * config/tc-m32c.h (md_end): Don't define. + (m32c_md_end): Delete. + (NOP_OPCODE, HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): Define. + * testsuite/gas/all/align.d: Remove m32c from notarget list. + * testsuite/gas/all/incbin.d: Likewise. + * testsuite/gas/elf/dwarf2-11.d: Likewise. + * testsuite/gas/macros/semi.d: Likewise. + * testsuite/gas/all/gas.exp (do_comment): Similarly. + +2019-05-02 H.J. Lu + + PR gas/24485 + * config/tc-i386.c (process_suffix): Issue a warning to IRET + without a suffix for .code16gcc. + * testsuite/gas/i386/jump16.s: Add tests for iretX. + * testsuite/gas/i386/jump16.d: Updated. + * testsuite/gas/i386/jump16.e: New file. + +2019-05-01 Sudakshina Das + + * config/tc-aarch64.c (parse_operands): Add case for + AARCH64_OPND_TME_UIMM16. + (aarch64_features): Add "tme". + * doc/c-aarch64.texi: Document the same. + * testsuite/gas/aarch64/tme-invalid.d: New test. + * testsuite/gas/aarch64/tme-invalid.l: New test. + * testsuite/gas/aarch64/tme-invalid.s: New test. + * testsuite/gas/aarch64/tme.d: New test. + * testsuite/gas/aarch64/tme.s: New test. + +2019-04-29 John Darrington + + * testsuite/gas/s12z/truncated.d: New file. + * testsuite/gas/s12z/truncated.s: New file. + * testsuite/gas/s12z/s12z.exp: Add new test. + +2019-04-26 Andrew Bennett + Faraz Shahbazker + + * config/tc-mips.c (macro) : New cases and expansions for paired instructions. + * testsuite/gas/mips/llpscp-32.s: New test source. + * testsuite/gas/mips/llpscp-64.s: Likewise. + * testsuite/gas/mips/llpscp-32.d: New test. + * testsuite/gas/mips/llpscp-64.d: Likewise. + * testsuite/gas/mips/mips.exp: Run the new tests. + * testsuite/gas/mips/r6.s: Add new instructions to test source. + * testsuite/gas/mips/r6-64.s: Likewise. + * testsuite/gas/mips/r6-64-n32.d: Check new instructions. + * testsuite/gas/mips/r6-64-n64.d: Likewise. + * testsuite/gas/mips/r6-n32.d: Likewise. + * testsuite/gas/mips/r6-n64.d: Likwwise. + * testsuite/gas/mips/r6.d: Likewise. + +2019-04-26 H.J. Lu + + PR gas/24485 + * config/tc-i386.c (process_suffix): Don't add DATA_PREFIX_OPCODE + to IRET for .code16gcc. + * testsuite/gas/i386/jump16.s: Add IRET tests. + * testsuite/gas/i386/jump16.d: Updated. + +2019-04-25 Alexandre Oliva + Alan Modra + + PR gas/24444 + * frags.c (frag_gtoffset_p): New. + * frags.h (frag_gtoffset_p): Declare it. + * expr.c (resolve_expression): Use it. + +2019-04-24 Alan Modra + + PR 24444 + * symbols.c (resolve_symbol_value): When handling symbols + marked as sy_flags.resolved, return correct value for the + case of expression symbols left as an O_symbol expression. + Merge O_symbol code handling undefined and common symbols with + code handling special cases of expression symbols. Use + seg_left to test for undefined and common symbols. Don't + leave an O_symbol expression when X_add_symbol resolves to + the absolute_section. Init final_val later. + * testsuite/gas/mmix/basep-7.d: Adjust expected output. + +2019-04-24 John Darrington + + * testsuite/gas/s12z/bit-manip-invalid.s: Extend test for BSET + and BCLR instructions with an invalid mode. + * testsuite/gas/s12z/bit-manip-invalid.d: ditto. + +2019-04-19 Nick Clifton + + PR 24464 + * config/tc-rx.h (md_relax_frag): Pass the max_iterations variable + to the relaxation function. + * config/tc-rx.c (rx_relax_frag): Add new parameter - the maximum + number of iterations. Make sure that our internal iteration limit + does not exceed this external iteration limit. + +2019-04-18 Matthew Fortune + + * config/tc-mips.c (match_non_zero_reg_operand): Update + warning message. + * testsuite/gas/mips/r6-branch-constraints.l: Likewise. + +2019-04-18 Jozef Lawrynowicz + + * config/tc-msp430.c (msp430_make_init_symbols): Define + __crt0_run_{preinit,init,fini}_array symbols if + .{preinit,init,fini}_array sections exist. + * testsuite/gas/msp430/fini-array.d: New test. + * testsuite/gas/msp430/init-array.d: New test. + * testsuite/gas/msp430/preinit-array.d: New test. + * testsuite/gas/msp430/fini-array.s: New test source. + * testsuite/gas/msp430/init-array.s: New test source. + * testsuite/gas/msp430/preinit-array.s: New test source. + * testsuite/gas/msp430/msp430.exp: Add new tests to driver. + +2019-04-17 Jozef Lawrynowicz + + * config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss + symbol when .lower.bss or .either.bss sections exist. + Define __crt0_movedata when .lower.data or .either.data sections exist. + * testsuite/gas/msp430/either-data-bss-sym.d: New test. + * testsuite/gas/msp430/low-data-bss-sym.d: New test. + * testsuite/gas/msp430/either-data-bss-sym.s: New test source. + * testsuite/gas/msp430/low-data-bss-sym.s: New test source. + * testsuite/gas/msp430/msp430.exp: Run new tests. + Enable large code model when running -mdata-region={upper,either} + tests. + +2019-04-17 Jozef Lawrynowicz + + * config/tc-msp430.c (options): New OPTION_UNKNOWN_INTR_NOPS, + OPTION_NO_UNKNOWN_INTR_NOPS and do_unknown_interrupt_nops. + (md_parse_option): Handle OPTION_UNKNOWN_INTR_NOPS and + OPTION_NO_UNKNOWN_INTR_NOPS by setting do_unknown_interrupt_nops + accordingly. + (md_show_usage): Likewise. + (md_shortopts): Add "mu" for OPTION_UNKNOWN_INTR_NOPS and + "mU" for OPTION_NO_UNKNOWN_INTR_NOPS. + (md_longopts): Likewise. + (warn_eint_nop): Update comment. + (warn_unsure_interrupt): Don't warn if prev_insn_is_nop or + prev_insn_is_dint or we are assembling for 430 ISA. + (msp430_operands): Only call warn_unsure_interrupt if + do_unknown_interrupt_nops == TRUE. + * testsuite/gas/msp430/nop-unknown-intr.s: New test source file. + * testsuite/gas/msp430/nop-unknown-intr-430.d: New test. + * testsuite/gas/msp430/nop-unknown-intr-430x.d: New test. + * testsuite/gas/msp430/nop-unknown-intr-430x-ignore.d: New test. + * testsuite/gas/msp430/nop-unknown-intr-430.l: Warning output for new + test. + * testsuite/gas/msp430/nop-unknown-intr-430x.l: Likewise. + * testsuite/gas/msp430/msp430.exp: Add new tests to driver. + +2019-04-16 Alan Modra + + * testsuite/gas/all/weakref1.d: xfail nds32. + +2019-04-16 Alan Modra + + * testsuite/gas/all/gas.exp: Remove ns32k xfails. + * testsuite/gas/all/weakref1u.d: Don't run for ns32k-*-*. + +2019-04-16 Alan Modra + + * write.h: Don't include bit_fix.h. + (struct fix): Rearrange some fields. Delete fx_im_disp and + fx_bit_fixP. Use bitfields for fx_size and fx_pcrel_adjust. + * write.c (fix_new_internal): Don't init fx_im_disp and fx_bit_fixP. + (fixup_segment): Don't exclude overflow checks on fx_bit_fixP. + (print_fixup): Don't print im_disp. + * config/tc-cris.c (md_apply_fix): Remove tests of fx_bit_fixP + and fx_im_disp. + * config/tc-dlx.c (md_apply_fix): Remove wrong debug code. Set + fx_no_overflow when fx_bit_fixP. + * config/tc-dlx.h: Include bit_fix.h. + (TC_FIX_TYPE, tc_fix_data, TC_INIT_FIX_DATA): Define. + * config/tc-ns32k.c (fix_new_ns32k, fix_new_ns32k_exp): Set + fx_no_overflow when bit_fixP. + * config/tc-ns32k.h (TC_FIX_TYPE): Add fx_bit_fixP and fx_im_disp. + (fix_im_disp, fix_bit_fixP): Adjust to suit. + (TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise. + +2019-04-16 Alan Modra + + * write.h (struct fix ): Make unsigned. + (fix_new, fix_at_start, fix_new_exp): Adjust prototypes. + * write.c (fix_new, fix_new_exp, fix_at_start): Make "where" and + "size" parameters unsigned long. + (fix_new_internal): Likewise. Adjust error format string to suit. + * config/tc-mips.c (md_convert_frag): Remove cast of fx_where. + * config/tc-sparc.c (md_apply_fix): Likewise. + * config/tc-score.c (s3_convert_frag): Adjust for unsigned fx_where. + * config/tc-score7.c (s7_convert_frag): Likewise. + +2019-04-16 Alan Modra + + * frags.h (struct frag ): Use unsigned type. + * frags.c (frag_new): Assert that current size exceeds + old_frags_var_max_size. + * ehopt.c (get_cie_info): Adjust for unsigned fr_fix. + * listing.c (calc_hex): Likewise. + * write.c (cvt_frag_to_fill, write_relocs): Likewise. + * config/tc-arc.c (md_convert_frag): Likewise. + * config/tc-avr.c (avr_patch_gccisr_frag): Likewise. + * config/tc-mips.c (md_convert_frag): Likewise. + * config/tc-rl78.c (md_convert_frag): Likewise. + * config/tc-rx.c (md_convert_frag): Likewise. + * config/tc-sparc.c (md_apply_fix): Likewise. + * config/tc-xtensa.c (next_instrs_are_b_retw): Likewise. + (unrelaxed_frag_min_insn_count, unrelaxed_frag_has_b_j): Likewise. + +2019-04-15 Thomas Preud'homme + + * config/tc-arm.c (parse_sys_vldr_vstr): New function. + (OP_VLDR): New enum operand_parse_code enumerator. + (parse_operands): Add logic for OP_VLDR. + (do_t_vldr_vstr_sysreg): New function. + (do_vldr_vstr): Likewise. + (insns): Guard VLDR and VSTR by arm_ext_v4t for Thumb mode. + (md_apply_fix): Add bound check for VLDR and VSTR co-processor offset. + Add masking logic for BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM relocation. + * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add examples of bad + uses of VLDR and VSTR. + * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error messages for + above bad uses. + * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add examples of VLDR and + VSTR valid uses. + * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add disassembly for the + above examples. + +2019-04-15 Thomas Preud'homme + + * config/tc-arm.c (arm_typed_reg_parse): Fix typo in comment. + (enum reg_list_els): New REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR + enumerators. + (parse_vfp_reg_list): Add new partial_match parameter. Set + *partial_match to TRUE if at least one element in the register list has + matched. Add support for REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR + register lists which expect VPR as last element in the list. + (s_arm_unwind_save_vfp_armv6): Adapt call to parse_vfp_reg_list to new + prototype. + (s_arm_unwind_save_vfp): Likewise. + (enum operand_parse_code): New OP_VRSDVLST enumerator. + (parse_operands): Adapt call to parse_vfp_reg_list to new prototype. + Handle new OP_VRSDVLST case. + (do_t_vscclrm): New function. + (insns): New entry for VSCCLRM instruction. + * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add invalid VSCCLRM + instructions. + * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error expectations + for above instructions. + * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add tests for VSCCLRM + instruction. + * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add expected disassembly + for above instructions. + +2019-04-15 Thomas Preud'homme + + * config/tc-arm.c (enum reg_list_els): Define earlier and add + REGLIST_RN and REGLIST_CLRM enumerators. + (parse_reg_list): Add etype parameter to distinguish between regular + core register list and CLRM register list. Add logic to + recognize CLRM register list. + (parse_vfp_reg_list): Assert type is not for core register list. + (s_arm_unwind_save_core): Update call to parse_reg_list to new + prototype. + (enum operand_parse_code): Declare OP_CLRMLST enumerator. + (parse_operands): Update call to parse_reg_list to new prototype. Add + logic for OP_CLRMLST. + (encode_thumb2_ldmstm): Rename into ... + (encode_thumb2_multi): This. Add do_io parameter. Add logic to + encode CLRM and guard LDM/STM only code by do_io. + (do_t_ldmstm): Adapt to use encode_thumb2_multi. + (do_t_push_pop): Likewise. + (do_t_clrm): New function. + (insns): Define CLRM. + * testsuite/gas/arm/archv8m_1m-cmse-main-bad.d: New file. + * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Likewise. + * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Likewise. + * testsuite/gas/arm/archv8m_1m-cmse-main.d: Likewise. + * testsuite/gas/arm/archv8m_1m-cmse-main.s: Likewise. + +2019-04-15 Sudakshina Das + Andre Vieira + + * config/tc-arm.c (operand_parse_code): Add OP_LR and OP_oLR + for the LR operand and optional LR operand. + (parse_operands): Add switch cases for OP_LR and OP_oLR for + both type checking and value checking. + (encode_thumb32_addr_mode): New entries for DLS, WLS and LE. + (v8_1_loop_reloc): New helper function for handling labels + for the low overhead loop instructions. + (do_t_loloop): New function to encode DLS, WLS and LE. + (insns): New entries for WLS, DLS and LE. + (md_pcrel_from_section): New switch case + for BFD_RELOC_ARM_THUMB_LOOP12. + (md_appdy_fix): Likewise. + (tc_gen_reloc): Likewise. + * testsuite/gas/arm/armv8_1-m-tloop.s: New. + * testsuite/gas/arm/armv8_1-m-tloop.d: New. + * testsuite/gas/arm/armv8_1-m-tloop-bad.s: New. + * testsuite/gas/arm/armv8_1-m-tloop-bad.d: New. + * testsuite/gas/arm/armv8_1-m-tloop-bad.l: New. + +2019-04-15 Sudakshina Das + Andre Vieira + + * config/tc-arm.c (T16_32_TAB): New entriy for bfcsel. + (do_t_v8_1_branch): New switch case for bfcsel. + (toU): Define. + (insns): New instruction for bfcsel. + (md_pcrel_from_section): New switch case + for BFD_RELOC_THUMB_PCREL_BFCSEL. + (md_appdy_fix): Likewise + (tc_gen_reloc): Likewise. + * testsuite/gas/arm/armv8_1-m-bfcsel.d: New. + * testsuite/gas/arm/armv8_1-m-bfcsel.s: New. + +2019-04-15 Sudakshina Das + + * config/tc-arm.c (md_pcrel_from_section): New switch case for + BFD_RELOC_ARM_THUMB_BF13. + (md_appdy_fix): Likewise. + (tc_gen_reloc): Likewise. + +2019-04-15 Sudakshina Das + Andre Vieira + + * config/tc-arm.c (T16_32_TAB): New entrie for bfl. + (do_t_v8_1_branch): New switch case for bfl. + (insns): New instruction for bfl. + * testsuite/gas/arm/armv8_1-m-bfl.d: New. + * testsuite/gas/arm/armv8_1-m-bfl.s: New. + * testsuite/gas/arm/armv8_1-m-bfl-bad.s: New. + * testsuite/gas/arm/armv8_1-m-bfl-bad.d: New. + * testsuite/gas/arm/armv8_1-m-bfl-bad.l: New. + * testsuite/gas/arm/armv8_1-m-bfl-rel.d: New. + * testsuite/gas/arm/armv8_1-m-bfl-rel.s: New. + +2019-04-15 Sudakshina Das + + * config/tc-arm.c (md_pcrel_from_section): New switch case for + BFD_RELOC_ARM_THUMB_BF19. + (md_appdy_fix): Likewise. + (tc_gen_reloc): Likewise. + +2019-04-15 Sudakshina Das + + * config/tc-arm.c (T16_32_TAB): New entries for bfx and bflx. + (do_t_v8_1_branch): New switch cases for bfx and bflx. + (insns): New instruction for bfx and bflx. + * testsuite/gas/arm/armv8_1-m-bf-exchange.d: New. + * testsuite/gas/arm/armv8_1-m-bf-exchange.s: New. + * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s: New + * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l: New + * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New + +2019-04-15 Sudakshina Das + Andre Vieira + + * config/tc-arm.c (T16_32_TAB): New entries for bf. + (do_t_branch_future): New. + (insns): New instruction for bf. + * testsuite/gas/arm/armv8_1-m-bf.d: New. + * testsuite/gas/arm/armv8_1-m-bf.s: New. + * testsuite/gas/arm/armv8_1-m-bf-bad.s: New. + * testsuite/gas/arm/armv8_1-m-bf-bad.l: New. + * testsuite/gas/arm/armv8_1-m-bf-bad.d: New. + * testsuite/gas/arm/armv8_1-m-bf-rel.d: New. + * testsuite/gas/arm/armv8_1-m-bf-rel.s: New. + +2019-04-15 Sudakshina Das + + * config/tc-arm.c (md_pcrel_from_section): New switch case for + BFD_RELOC_ARM_THUMB_BF17. + (md_appdy_fix): Likewise. + (tc_gen_reloc): Likewise. + +2019-04-15 Sudakshina Das + + * config/tc-arm.c (ARM_IT_MAX_RELOCS): New macro. + (arm_it): Member reloc renamed relocs and updated to an array. + Rest: Replace all occurrences of reloc to relocs[0]. + +2019-04-15 Sudakshina Das + + * config/tc-arm.c (md_pcrel_from_section): New switch case + for BFD_RELOC_THUMB_PCREL_BRANCH5. + (v8_1_branch_value_check): New function to check branch + offsets. + (md_appdy_fix): New switch case for + BFD_RELOC_THUMB_PCREL_BRANCH5. + (tc_gen_reloc): Likewise. + +2019-04-15 Andre Vieira + + * config/tc-arm.c (do_neon_movhf): Remove fp-armv8 check. + (armv8_1m_main_ext_table): New extension table. + (arm_archs): Use the new extension table. + * doc/c-arm.texi: Add missing arch and document new extensions. + * testsuite/gas/arm/armv8.1-m.main-fp.d: New. + * testsuite/gas/arm/armv8.1-m.main-fp-dp.d: New. + * testsuite/gas/arm/armv8.1-m.main-hp.d: New. + +2019-04-15 Thomas Preud'homme + + * config/tc-arm.c (cpu_arch_ver): Add entry for Armv8.1-M Mainline + Tag_CPU_arch build attribute value. Reindent. + (get_aeabi_cpu_arch_from_fset): Update assert. + (aeabi_set_public_attributes): Update assert for Tag_DIV_use logic. + * testsuite/gas/arm/attr-march-armv8_1-m.main.d: New test. + +2019-04-09 Matthew Fortune + + * config/tc-mips.c (mips_cpu_info_table): Add i6500. Update + default ASEs for i6400. + * doc/c-mips.texi (-march): Document i6500. + * testsuite/gas/mips/elf_mach_i6400.d: New test. + * testsuite/gas/mips/elf_mach_i6500.d: New test. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2019-04-09 Matthew Fortune + + * config/tc-mips.c (mips_set_options) : New field. + (file_mips_opts, mips_opts) : Initialize new field. + (file_mips_check_options): Propagate initial ASE settings. + (mips_after_parse_args, parse_code_option): Track the initial + ASE settings for a CPU. + (s_mipsset): Restore the initial ASE settings when reverting + to the default arch. + * testsuite/gas/mips/elf_mach_p6600.d: New test. + * testsuite/gas/mips/mips.exp: Run the new test. + +2019-04-12 John Darrington + + config/tc-s12z.h: Remove definition of macro TC_M68K + +2019-04-01 John Darrington + + config/tc-s12z.c: Use bfd_boolean where appropriate. + +2019-04-11 Max Filippov + + * testsuite/gas/xtensa/loop-relax-2.d: New test definition. + * testsuite/gas/xtensa/loop-relax.d: New test definition. + * testsuite/gas/xtensa/loop-relax.s: New test source. + * testsuite/gas/xtensa/text-section-literals-1a.d: New test + definition. + * testsuite/gas/xtensa/text-section-literals-2.d: New test + definition. + * testsuite/gas/xtensa/text-section-literals-2.s: New test + source. + * testsuite/gas/xtensa/text-section-literals-2a.d: New test + definition. + * testsuite/gas/xtensa/text-section-literals-3.d: New test + definition. + * testsuite/gas/xtensa/text-section-literals-3.s: New test + source. + * testsuite/gas/xtensa/text-section-literals-4.d: New test + definition. + * testsuite/gas/xtensa/text-section-literals-4.s: New test + source. + * testsuite/gas/xtensa/text-section-literals-4a.d: New test + definition. + +2019-04-11 Max Filippov + + * testsuite/gas/xtensa/all.exp: Remove all expect-based + tests and all explicit run_dump_test / run_list_test + invocations. Add run_dump_tests for all .d files in the + test subdirectory. + * testsuite/gas/xtensa/entry_align.d: New test definition. + * testsuite/gas/xtensa/entry_align.l: New test output. + * testsuite/gas/xtensa/entry_misalign.d: New test definition. + * testsuite/gas/xtensa/entry_misalign2.d: New test definition. + * testsuite/gas/xtensa/j_too_far.d: New test definition. + * testsuite/gas/xtensa/j_too_far.l: New test output. + * testsuite/gas/xtensa/loop_align.d: New test definition. + * testsuite/gas/xtensa/loop_misalign.d: New test definition. + * testsuite/gas/xtensa/trampoline-2.d: New test definition. + * testsuite/gas/xtensa/trampoline-2.l: Remove empty output. + * testsuite/gas/xtensa/xtensa-err.exp: Use positive logic. + +2019-04-11 Max Filippov + + * config/tc-xtensa.c (xtensa_literal_pseudo): Drop code that has + no effect. + (get_literal_pool_location): Only search for the literal pool + when auto litpools is used, otherwise take one recorded in the + tc_segment_info_data. + (xtensa_assign_litpool_addresses): New function. + (xtensa_move_literals): Don't duplicate 'literal pool location + required...' error message. Call xtensa_assign_litpool_addresses. + +2019-04-11 Max Filippov + + * config/tc-xtensa.c (xtensa_is_init_fini): Add declaration. + (xtensa_mark_literal_pool_location): Don't add fill frag to literal + section that records literal pool location. + (md_begin): Call xtensa_mark_literal_pool_location when text + section literals or auto litpools are used. + (xtensa_elf_section_change_hook): Call + xtensa_mark_literal_pool_location when text section literals or + auto litpools are used, there's no literal pool location defined + for the current section and it's not .init or .fini. + * testsuite/gas/xtensa/auto-litpools-first1.d: Fix up addresses. + * testsuite/gas/xtensa/auto-litpools-first2.d: Likewise. + * testsuite/gas/xtensa/auto-litpools.d: Likewise. + +2019-04-11 Sudakshina Das + + * config/tc-aarch64.c (process_omitted_operand): Add case for + AARCH64_OPND_Rt_SP. + (parse_operands): Likewise. + * testsuite/gas/aarch64/armv8_5-a-memtag.d: Update tests. + * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. + * testsuite/gas/aarch64/illegal-memtag.l: Likewise. + * testsuite/gas/aarch64/illegal-memtag.s: Likewise. + +2019-04-11 Sudakshina Das + + * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for ldgm and stgm. + * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. + * testsuite/gas/aarch64/illegal-memtag.l: Likewise. + * testsuite/gas/aarch64/illegal-memtag.s: Likewise. + +2019-04-10 Rainer Orth + + * config/tc-i386.c (need_plt32_p) [TE_SOLARIS]: Return FALSE. + * testsuite/gas/i386/solaris/solaris.exp: New driver. + * testsuite/gas/i386/solaris/reloc64.d, + testsuite/gas/i386/solaris/x86-64-jump.d, + testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d, + testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d, + testsuite/gas/i386/solaris/x86-64-nop-3.d, + testsuite/gas/i386/solaris/x86-64-nop-4.d, + testsuite/gas/i386/solaris/x86-64-nop-5.d, + testsuite/gas/i386/solaris/x86-64-relax-2.d, + testsuite/gas/i386/solaris/x86-64-relax-3.d: New tests. + * testsuite/gas/i386/reloc64.d, + testsuite/gas/i386/x86-64-jump.d, + testsuite/gas/i386/x86-64-mpx-branch-1.d, + testsuite/gas/i386/x86-64-mpx-branch-2.d, + testsuite/gas/i386/x86-64-nop-3.d, + testsuite/gas/i386/x86-64-nop-4.d, + testsuite/gas/i386/x86-64-nop-5.d, + testsuite/gas/i386/x86-64-relax-2.d, + testsuite/gas/i386/x86-64-relax-3.d: Skip on *-*-solaris*. + +2019-04-10 Alan Modra + + * config/te-cloudabi.h: New file. + * config/tc-aarch64.c (aarch64_after_parse_args): Use TE_CLOUDABI + rather than TARGET_OS to select cloudabi. + * config/tc-i386.h (ELF_TARGET_FORMAT64): Define for TE_CLOUDABI. + * configure.tgt (*-*-cloudabi*): Set em=cloudabi. + +2019-04-09 Robert Suchanek + + * testsuite/gas/mips/mips.exp: Run hwr-names test. + * testsuite/gas/mips/hwr-names.s: Add test cases for RDHWR with + the SEL field. + * testsuite/gas/mips/mipsr6@hwr-names.d: New file. + +2019-04-08 H.J. Lu + + * config/tc-i386.c (output_insn): Support + GNU_PROPERTY_X86_ISA_1_AVX512_BF16. + * testsuite/gas/i386/property-2.s: Add AVX512_BF16 test. + * testsuite/gas/i386/property-2.d: Updated. + * testsuite/gas/i386/x86-64-property-2.d: Likewise. + +2019-04-08 H.J. Lu + + * configure.tgt: Remove i386-*-kaos* and i386-*-chaos targets. + * testsuite/gas/i386/i386.exp: Remove *-*-caos* and "*-*-kaos* + check. + +2019-04-05 H.J. Lu + + * testsuite/gas/i386/i386.exp: Run -mx86-used-note=yes tests. + * testsuite/gas/i386/property-2.d: New file. + * testsuite/gas/i386/property-2.s: Likewise. + * testsuite/gas/i386/x86-64-property-2.d: Likewise. + +2019-04-05 Xuepeng Guo + + * config/tc-i386.c (cpu_arch): Add .avx512_bf16. + (cpu_noarch): Add noavx512_bf16. + * doc/c-i386.texi: Document avx512_bf16. + * testsuite/gas/i386/avx512_bf16.d: New file. + * testsuite/gas/i386/avx512_bf16.s: Likewise. + * testsuite/gas/i386/avx512_bf16_vl-inval.l: Likewise. + * testsuite/gas/i386/avx512_bf16_vl-inval.s: Likewise. + * testsuite/gas/i386/avx512_bf16_vl.d: Likewise. + * testsuite/gas/i386/avx512_bf16_vl.s: Likewise. + * testsuite/gas/i386/x86-64-avx512_bf16.d: Likewise. + * testsuite/gas/i386/x86-64-avx512_bf16.s: Likewise. + * testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l: Likesie. + * testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s: Likewise. + * testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Likewise. + * testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Likewise. + * testsuite/gas/i386/i386.exp: Add BF16 related tests. + +2019-04-05 Alan Modra + + * testsuite/gas/ppc/bc.s, + * testsuite/gas/ppc/bcat.d, + * testsuite/gas/ppc/bcaterr.d, + * testsuite/gas/ppc/bcaterr.l, + * testsuite/gas/ppc/bcy.d, + * testsuite/gas/ppc/bcyerr.d, + * testsuite/gas/ppc/bcyerr.l: New tests. + * testsuite/gas/ppc/ppc.exp: Run them. + +2019-04-05 Alan Modra + + * testsuite/gas/ppc/476.d: Remove trailing spaces. + * testsuite/gas/ppc/a2.d: Likewise. + * testsuite/gas/ppc/booke.d: Likewise. + * testsuite/gas/ppc/booke_xcoff.d: Likewise. + * testsuite/gas/ppc/e500.d: Likewise. + * testsuite/gas/ppc/e500mc.d: Likewise. + * testsuite/gas/ppc/e6500.d: Likewise. + * testsuite/gas/ppc/htm.d: Likewise. + * testsuite/gas/ppc/power6.d: Likewise. + * testsuite/gas/ppc/power8.d: Likewise. + * testsuite/gas/ppc/power9.d: Likewise. + * testsuite/gas/ppc/vle.d: Likewise. + +2019-04-04 Peter Bergner + + PR gas/24349 + * testsuite/gas/ppc/power8.s: (bdnztar, bdnztarl, bdztar, bdztarl, + btar, btarl, bdnztar-, bdnztarl-, bdnztar+, bdnztarl+, bdztar-, + bdztarl-, bdztar+, bdztarl+, bgetar, bnltar, bgetarl, bnltarl, + bletar, bngtar, bletarl, bngtarl, bnetar, bnetarl, bnstar, bnutar, + bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-, bnltarl-, bletar-, + bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-, bnstar-, bnutar-, + bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+, bnltarl+, bletar+, + bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+, bnstar+, bnutar+, + bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl, beqtar, + beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-, + bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-, + buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+, + bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar, + bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar, + bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+, + bttarl+): Add tests of extended mnemonics. + * testsuite/gas/ppc/power8.d: Likewise. Update previous bctar tests + to expect new extended mnemonics. + * testsuite/gas/ppc/a2.s: : Update test + to not use illegal BO value. Use a more convenient BI value. + * testsuite/gas/ppc/a2.d: Update tests for new expect output. + +2019-04-03 Max Filippov + + * config/tc-xtensa.c (convert_frag_immed): Drop + convert_frag_immed_finish_loop invocation. + (convert_frag_immed_finish_loop): Drop declaration and + definition. + * config/xtensa-relax.c (widen_spec_list): Replace loop + widening that uses addi/addmi with widening that uses l32r + and const16. + +2019-04-01 Andre Vieira + + * config/tc-arm.c (arm_ext_table): New struct type. + (arm_arch_option_table): Add new 'arm_ext_table' field. + (ARM_EXT,ARM_ADD,ARM_REMOVE, ALL_FP): New macros. + (armv5te_ext_table, armv7ve_ext_table, armv7a_ext_table, + armv7r_ext_table, armv7em_ext_table, armv8a_ext_table, + armv81a_ext_table, armv82a_ext_table, armv84a_ext_table, + armv85a_ext_table, armv8m_main_ext_table, + armv8r_ext_table): New architecture extension tables. + (ARM_ARCH_OPT): Add new default field. + (ARM_ARCH_OPT2): New macro. + (arm_archs): Extend some architectures with the new architecture + extension tables mentioned above. + (arm_extensions): Add DEPRECATED comment with instructions to + use new table. + (arm_parse_extension): Change to use new extension tables. + (arm_parse_cpu): Don't change existing behavior. + (arm_parse_arch): Change to use new extension tables. + * doc/c-arm.texi: Document new architecture extensions. + * testsuite/gas/arm/attr-mfpu-neon-fp16.d: Change test to use new + extension option rather than -mfpu and change expected behaviour to + sane outputs. + * testsuite/gas/arm/armv8-2-fp16-scalar-bad-ext.d: New. + * testsuite/gas/arm/armv8-2-fp16-scalar-ext.d: New. + * testsuite/gas/arm/armv8-2-fp16-scalar-thumb-ext.d: New. + * testsuite/gas/arm/armv8-2-fp16-simd-ext.d: New. + * testsuite/gas/arm/armv8-2-fp16-simd-thumb-ext.d: New. + * testsuite/gas/arm/armv8-2-fp16-simd-warning-ext.d: New. + * testsuite/gas/arm/armv8-2-fp16-simd-warning-thumb-ext.d: New. + * testsuite/gas/arm/armv8_2+rdma-ext.d: New. + * testsuite/gas/arm/armv8_2-a-fp16-thumb2-ext.d: New. + * testsuite/gas/arm/armv8_2-a-fp16_ext.d: New. + * testsuite/gas/arm/armv8_3-a-fp-bad-ext.d: New. + * testsuite/gas/arm/armv8_3-a-fp-ext.d: New. + * testsuite/gas/arm/armv8_3-a-fp16-ext.d: New. + * testsuite/gas/arm/armv8_3-a-simd-bad-ext.d: New. + * testsuite/gas/arm/armv8_4-a-fp16-ext.d: New. + * testsuite/gas/arm/armv8m.main+fp.d: New. + * testsuite/gas/arm/armv8m.main+fp.dp.d: New. + * testsuite/gas/arm/attr-ext-fpv5-d16.d: New. + * testsuite/gas/arm/attr-ext-fpv5.d: New. + * testsuite/gas/arm/attr-ext-idiv.d: New. + * testsuite/gas/arm/attr-ext-mp.d: New. + * testsuite/gas/arm/attr-ext-neon-fp16.d: New. + * testsuite/gas/arm/attr-ext-neon-vfpv3.d: New. + * testsuite/gas/arm/attr-ext-neon-vfpv4.d: New. + * testsuite/gas/arm/attr-ext-sec.d: New. + * testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d: New. + * testsuite/gas/arm/attr-ext-vfpv3-d16.d: New. + * testsuite/gas/arm/attr-ext-vfpv3-fp16.d: New. + * testsuite/gas/arm/attr-ext-vfpv3.d: New. + * testsuite/gas/arm/attr-ext-vfpv3xd-fp.d: New. + * testsuite/gas/arm/attr-ext-vfpv3xd.d: New. + * testsuite/gas/arm/attr-ext-vfpv4-d16.d: New. + * testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d: New. + * testsuite/gas/arm/attr-ext-vfpv4.d: New. + * testsuite/gas/arm/dotprod-mandatory-ext.d: New. + * testsuite/gas/arm/fpv5-d16.s: New. + * testsuite/gas/arm/fpv5-sp-d16.s: New. + +2019-03-28 Alan Modra + + PR 24390 + * testsuite/gas/ppc/476.d: Update mtfsb*. + * testsuite/gas/ppc/a2.d: Likewise. + +2019-03-21 Alan Modra + + * emul.h (struct emulation): Delete strip_underscore. + * emul-target.h (emul_strip_underscore): Don't define. + (emul_struct_name): Update initialization. + +2019-03-21 Alan Modra + + * config/tc-d10v.c (md_apply_fix): Apply BFD_RELOC_8. + * config/tc-pdp11.c (md_apply_fix): Likewise. + * config/tc-d30v.c (md_apply_fix): Don't emit errors for BFD_RELOC_8, + BFD_RELOC_16, and BFD_RELOC_64. + * testsuite/gas/all/gas.exp: Move target exclusions for forward + test, but not cr16, to.. + * testsuite/gas/all/forward.d: ..here, with explanation. Remove + d10v, d30v, and pdp11 xfails. + +2019-03-19 H.J. Lu + + * config/tc-i386.c (optimize_encoding): Don't check AVX for + EVEX vector load/store optimization. Check both operands for + ZMM register. Update EVEX vector load/store opcode check. + Choose EVEX Disp8 over VEX Disp32. + * testsuite/gas/i386/optimize-1.d: Updated. + * testsuite/gas/i386/optimize-1a.d: Likewise. + * testsuite/gas/i386/optimize-2.d: Likewise. + * testsuite/gas/i386/optimize-4.d: Likewise. + * testsuite/gas/i386/optimize-5.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-2.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-2b.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-5.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-6.d: Likewise. + * testsuite/gas/i386/optimize-1.s: Add ZMM register load + test. + * testsuite/gas/i386/x86-64-optimize-2.s: Likewise. + +2019-03-19 H.J. Lu + + PR gas/24352 + * config/tc-i386.c (optimize_encoding): Check only + cpu_arch_flags.bitfield.cpuavx512vl. + * testsuite/gas/i386/i386.exp: Run x86-64-optimize-2b. + * testsuite/gas/i386/x86-64-optimize-2.d: Revert the last + change. + * testsuite/gas/i386/x86-64-optimize-2b.d: New file. + * testsuite/gas/i386/x86-64-optimize-2b.s: Likewise. + +2019-03-19 H.J. Lu + + PR gas/24359 + * testsuite/gas/i386/i386.exp: Change optimize-6a, optimize-7, + x86-64-optimize-7a and x86-64-optimize-8 tests to run_list_test. + Remove optimize-6c and x86-64-optimize-7c tests. + * testsuite/gas/i386/noavx-3.l: Updated. + * testsuite/gas/i386/noavx-4.d: Likewise. + * testsuite/gas/i386/noavx-5.d: Likewise. + * testsuite/gas/i386/noavx-3.s: Add AVX512F tests. + * testsuite/gas/i386/noavx-4.s: Remove AVX512F tests. + * testsuite/gas/i386/nosse-5.s: Likewise. + * testsuite/gas/i386/optimize-6a.d: Removed. + * testsuite/gas/i386/optimize-6c.d: Likewise. + * testsuite/gas/i386/optimize-7.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-8.d: Likewise. + * testsuite/gas/i386/optimize-6a.l: New file. + * testsuite/gas/i386/optimize-6a.s: Likewise. + * testsuite/gas/i386/optimize-7.l: Likewise. + * testsuite/gas/i386/x86-64-optimize-7a.l: Likewise. + * testsuite/gas/i386/x86-64-optimize-7a.s: Likewise. + * testsuite/gas/i386/x86-64-optimize-8.l: Likewise. + +2019-03-18 Alan Modra + + * config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp. + * as.c (macro_expr): Likewise. + * macro.c (buffer_and_nest): Likewise. + * read.c (temp_ilp): Remove FIXME. + +2019-03-18 H.J. Lu + + * testsuite/gas/i386/att-regs.d: Pass -O0 to assembler. + * testsuite/gas/i386/avx512bw-intel.d: Likewise. + * testsuite/gas/i386/avx512bw.d: Likewise. + * testsuite/gas/i386/avx512f-intel.d: Likewise. + * testsuite/gas/i386/avx512f.d: Likewise. + * testsuite/gas/i386/disp32.d: Likewise. + * testsuite/gas/i386/intel-regs.d: Likewise. + * testsuite/gas/i386/pseudos.d: Likewise. + * testsuite/gas/i386/x86-64-disp32.d: Likewise. + * testsuite/gas/i386/x86-64-pseudos.d: Likewise. + +2019-03-18 H.J. Lu + + PR gas/24348 + * config/tc-i386.c (optimize_encoding): Encode 128-bit and + 256-bit EVEX vector register load/store instructions as VEX + vector register load/store instructions for -O1. + * doc/c-i386.texi: Update -O1 documentation. + * testsuite/gas/i386/i386.exp: Run PR gas/24348 tests. + * testsuite/gas/i386/optimize-1.s: Add tests for EVEX vector + load/store instructions. + * testsuite/gas/i386/optimize-2.s: Likewise. + * testsuite/gas/i386/optimize-3.s: Likewise. + * testsuite/gas/i386/optimize-5.s: Likewise. + * testsuite/gas/i386/x86-64-optimize-2.s: Likewise. + * testsuite/gas/i386/x86-64-optimize-3.s: Likewise. + * testsuite/gas/i386/x86-64-optimize-4.s: Likewise. + * testsuite/gas/i386/x86-64-optimize-5.s: Likewise. + * testsuite/gas/i386/x86-64-optimize-6.s: Likewise. + * testsuite/gas/i386/optimize-1.d: Updated. + * testsuite/gas/i386/optimize-2.d: Likewise. + * testsuite/gas/i386/optimize-3.d: Likewise. + * testsuite/gas/i386/optimize-4.d: Likewise. + * testsuite/gas/i386/optimize-5.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-2.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-4.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-5.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-6.d: Likewise. + * testsuite/gas/i386/optimize-7.d: New file. + * testsuite/gas/i386/optimize-7.s: Likewise. + * testsuite/gas/i386/x86-64-optimize-8.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-8.s: Likewise. + +2019-03-18 H.J. Lu + + * config/tc-i386.c (optimize_encoding): Encode 256-bit/512-bit + VEX/EVEX vector register clearing instructions with 128-bit VEX + vector register clearing instructions at -O1. + * doc/c-i386.texi: Update -O1 and -O2 documentation. + * testsuite/gas/i386/i386.exp: Run optimize-1a and + x86-64-optimize-2a. + * testsuite/gas/i386/optimize-1a.d: New file. + * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise. + +2019-03-17 H.J. Lu + + PR gas/24353 + * config/tc-i386.c: Include if it exists and try + including if we have it. + (INT_MAX): Define if not defined. + (md_parse_option): Set optimize to INT_MAX for -Os. + * testsuite/gas/i386/optimize-2.s: Add a test. + * testsuite/gas/i386/x86-64-optimize-3.s: Likewise. + * testsuite/gas/i386/optimize-2.d: Updated. + * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. + +2019-03-17 H.J. Lu + + PR gas/24352 + * config/tc-i386.c (optimize_encoding): Encode 512-bit EVEX + with 128-bit VEX encoding only when AVX is enabled and with + 128-bit EVEX encoding only when AVX512VL is enabled. + * testsuite/gas/i386/i386.exp: Run PR gas/24352 tests. + * testsuite/gas/i386/optimize-6.s: New file. + * testsuite/gas/i386/optimize-6a.d: Likewise. + * testsuite/gas/i386/optimize-6b.d: Likewise. + * testsuite/gas/i386/optimize-6c.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-7.s: Likewise. + * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-7b.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise. + * testsuite/gas/i386/x86-64-optimize-2.d: Updated. + +2019-03-15 Li Hao + + PR 24308 + * config/tc-i386.c (parse_insn): Check mnemp before using it to + determine if a suffix can be trimmed. + +2019-03-13 Christian Eggers + + * dwarf2dbg.c (out_set_addr): Align relocation within .debug_line. + +2019-03-13 Christian Eggers + + * dwarf2dbg.c (out_debug_line): Pad size of .debug_line section. + +2019-03-13 Christian Eggers + + * dwarf2dbg.c (out_debug_str): Use octets for .debug_string pointers. + +2019-03-13 Christian Eggers + + * dwarf2dbg.c (out_debug_line): Use octets for .debug_line prologue. + +2019-03-13 Christian Eggers + + * dwarf2dbg.c (out_debug_line): Use octets for dwarf2 headers. + (out_debug_aranges, out_debug_info): Likewise. + +2019-03-13 Christian Eggers + + * symbols.h (symbol_temp_new_now_octets): Declare. + (symbol_set_value_now_octets, symbol_octets_p): Declare. + * symbols.c (struct symbol_flags): New member sy_octets. + (symbol_temp_new_now_octets): New function. + (resolve_symbol_value): Return octets instead of bytes if + sy_octets is set. + (symbol_set_value_now_octets): New function. + (symbol_octets_p): New function. + +2019-03-13 Christian Eggers + + * dwarf2dbg.c (dwarf2_emit_insn): Fix calculation of line info offset. + +2019-03-12 Andreas Krebbel + + * testsuite/gas/s390/zarch-arch13.s: Adjust testcase to optable changes. + * testsuite/gas/s390/zarch-arch13.d: Likewise. + +2019-02-27 Matthew Malcomson + + * testsuite/gas/aarch64/dotproduct.d: Use multiple "as" lines. + * testsuite/gas/aarch64/dotproduct_armv8_4.d: Remove. + * testsuite/gas/aarch64/dotproduct_armv8_4.s: Remove. + * testsuite/gas/aarch64/illegal-dotproduct.d: Use multiple "as" + lines. + * testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: Remove. + * testsuite/gas/aarch64/ldst-rcpc.d: Use multiple "as" lines. + +2019-02-24 Alan Modra + + * config/tc-ppc.c (parse_tls_arg): Wrap in #ifdef OBJ_ELF. + +2019-02-24 Alan Modra + + PR 24144 + * config/obj-aout.c (obj_aout_frob_file_before_fix): Write to end + of section to ensure file contents cover aligned section size. + +2019-02-22 Kyrylo Tkachov + + * config/tc-arm.c (arm_cpus): Add neoverse-n1. + * doc/c-arm.texi (-mcpu): Document neoverse-n1 value. + +2019-02-22 Kyrylo Tkachov + + * config/tc-aarch64.c (aarch64_cpus): Add neoverse-e1. + * doc/c-aarch64.texi (-mcpu): Document neoverse-e1 value. + +2019-02-22 Kyrylo Tkachov + + * config/tc-aarch64.c (aarch64_cpus): Add neoverse-n1. + * doc/c-aarch64.texi (-mcpu): Document neoverse-n1 value. + +2019-02-19 Paul Hua + + * NEWS: Mention -m[no-]fix-loongson3-llsc. + * configure.ac: Add --enable-mips-fix-loongson3-llsc. + Define DEFAULT_MIPS_FIX_LOONGSON3_LLSC. + * config.in: Regenerated. + * configure: Likewise. + * config/tc-mips.c (sync_insn, mips_fix_loongson3_llsc): + New variables. + (options): New OPTION_FIX_LOONGSON3_LLSC, + OPTION_NO_FIX_LOONGSON3_LLSC. + (md_longopts): Add -m[no-]fix-loongson3-llsc. + (md_begin): Initialize sync insn. + (fix_loongson3_llsc): New. + (append_insn): Call fix_loongson3_llsc. + (md_parse_option): Handle OPTION_FIX_LOONGSON3_LLSC, + OPTION_NO_FIX_LOONGSON3_LLSC. + (md_show_usage): Display -m[no-]fix-loongson3-llsc. + * doc/c-mips.texi: Document -m[no-]fix-loongson3-llsc, + --enable-mips-fix-loongson3-llsc=[yes|no]. + +2019-02-10 H.J. Lu + + PR gas/24165 + * frags.c (frag_var_init): Pass max_chars to TC_FRAG_INIT as + max_bytes. + * config/tc-aarch64.h (TC_FRAG_INIT): Add and pass max_bytes to + aarch64_init_frag. + * /config/tc-arm.h (TC_FRAG_INIT): And and pass max_bytes to + arm_init_frag. + * config/tc-avr.h (TC_FRAG_INIT): And and ignore max_bytes. + * config/tc-ia64.h (TC_FRAG_INIT): Likewise. + * config/tc-mmix.h (TC_FRAG_INIT): Likewise. + * config/tc-nds32.h (TC_FRAG_INIT): Likewise. + * config/tc-ns32k.h (TC_FRAG_INIT): Likewise. + * config/tc-rl78.h (TC_FRAG_INIT): Likewise. + * config/tc-rx.h (TC_FRAG_INIT): Likewise. + * config/tc-score.h (TC_FRAG_INIT): Likewise. + * config/tc-tic54x.h (TC_FRAG_INIT): Likewise. + * config/tc-tic6x.h (TC_FRAG_INIT): Likewise. + * config/tc-xtensa.h (TC_FRAG_INIT): Likewise. + * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to + (alignment ? ((1 << alignment) - 1) : 1) + (i386_tc_frag_data): Add max_bytes. + (TC_FRAG_INIT): Add and track max_bytes. + (HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with + fragP->tc_frag_data.max_bytes. + * doc/internals.texi: Update TC_FRAG_TYPE with max_bytes. + +2019-02-08 Jim Wilson + + * config/tc-riscv.c (validate_riscv_insn) <'C'>: Add 'z' support. + (riscv_ip) <'C'>: Add 'z' support. + +2019-02-07 Tamar Christina + + * config/tc-arm.c (insns): Redefine THUMB_VARIANT and ARM_VARIANT for + hlt to armv1. + * testsuite/gas/arm/armv8a-automatic-hlt.d: Update TAGs + * testsuite/gas/arm/hlt.d: New test. + * testsuite/gas/arm/hlt.s: New test. + +2019-02-07 Tamar Christina + + * testsuite/gas/aarch64/undefined_advsimd_armv8_3.d: New test. + * testsuite/gas/aarch64/undefined_advsimd_armv8_3.s: New test. + +2019-02-07 Tamar Christina + + PR binutils/23212 + * testsuite/gas/aarch64/undefined_by_elem_sz_l.s: New test. + * testsuite/gas/aarch64/undefined_by_elem_sz_l.d: New test. + +2019-02-07 Eric Botcazou + + * config/tc-visium.c (md_assemble) : Align instruction on + 64-bit boundaries for the GR6. + * testsuite/gas/visium/allinsn_gr6.s: Tweak. + * testsuite/gas/visium/allinsn_gr6.d: Likewise. + * testsuite/gas/visium/bra-1.d: New test. + * testsuite/gas/visium/bra-1.s: Likewise. + * testsuite/gas/visium/visium.exp: Run bra-1 test. + +2019-01-31 John Darrington + + * config/tc-s12z.c (lex_imm): Add new argument exp_o. + (emit_reloc): New function. + (md_apply_fix): [BFD_RELOC_S12Z_OPR] Recognise that it + can be either 2 bytes or 3 bytes long. + * testsuite/gas/s12z/mov-imm-reloc.d: New file. + * testsuite/gas/s12z/mov-imm-reloc.s: New file. + * testsuite/gas/s12z/s12z.exp: Add them. + +2019-01-31 John Darrington + + * config/tc-s12z.c (md_apply_fix): Fix incorrect limits. + * testsuite/gas/s12z/pc-rel-bad.d: New file. + * testsuite/gas/s12z/pc-rel-bad.l: New file. + * testsuite/gas/s12z/pc-rel-bad.s: New file. + * testsuite/gas/s12z/pc-rel-good.d: New file. + * testsuite/gas/s12z/pc-rel-good.s: New file. + * testsuite/gas/s12z/s12z.exp: Add them. + +2019-01-31 John Darrington + + * config/tc-s12z.c (tfr): Emit warning if operands are the same. + * testsuite/gas/s12z/exg.d: New test case. + * testsuite/gas/s12z/exg.l: New file. + +2019-01-31 John Darrington + + * config/tc-s12z.c (lex_opr): Add a parameter to indicate whether + immediate mode operands should be permitted. + * testsuite/s12z/imm-dest.d: New file. + * testsuite/s12z/imm-dest.l: New file. + * testsuite/s12z/imm-dest.s: New file. + * testsuite/s12z/s12z.exp: Add them. + +2019-01-31 Andreas Krebbel + + * config/tc-s390.c (s390_parse_cpu): New entry for arch13. + * doc/c-s390.texi: Document arch13 march option. + * testsuite/gas/s390/s390.exp: Run the arch13 related tests. + * testsuite/gas/s390/zarch-arch13.d: New test. + * testsuite/gas/s390/zarch-arch13.s: New test. + * testsuite/gas/s390/zarch-z13.d: Expect the renamed mnemonics + also for z13. + +2019-01-31 Alan Modra + + * config/tc-alpha.c (md_apply_fix): Correct range checks for + BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR. + * config/tc-arm.c (md_apply_fix): Use llabs rather than abs. + * config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error. + +2019-01-28 Max Filippov + + * config/tc-xtensa.c (md_apply_fix): Mark fixups for constant + symbols as done in md_apply_fix. + * testsuite/gas/all/forward.d: Don't XFAIL for xtensa. + +2019-01-28 Nick Clifton + + * po/fr.po: Updated French translation. + * po/ru.po: Updated Russian translation. + +2019-01-28 Alan Modra + + * configure.ac (ac_checking): Set from bfd/development.sh + development variable. + * configure: Regenerate. + +2019-01-25 Sudakshina Das + + * config/tc-aarch64.c (warn_unpredictable_ldst): Exempt + stg, st2g, stzg and stz2g from Xt == Xn with writeback warning. + * testsuite/gas/aarch64/armv8_5-a-memtag.d: Change tests for + stg, stzg, st2g and stz2g. + * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. + * testsuite/gas/aarch64/illegal-memtag.l: Likewise. + * testsuite/gas/aarch64/illegal-memtag.s: Likewise. + +2019-01-25 Sudakshina Das + + * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm. + * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. + * testsuite/gas/aarch64/illegal-memtag.l: Likewise. + * testsuite/gas/aarch64/illegal-memtag.s: Likewise. + +2019-01-25 Sudakshina Das + Ramana Radhakrishnan + + * config/tc-aarch64.c (parse_address_main): Remove support for + [base]! address expression. + (parse_operands): Remove support for AARCH64_OPND_ADDR_SIMPLE_2. + (warn_unpredictable_ldst): Remove support for ldstgv_indexed. + * testsuite/gas/aarch64/armv8_5-a-memtag.d: Remove tests for ldgv + and stgv. + * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. + * testsuite/gas/aarch64/illegal-memtag.l: Likewise. + * testsuite/gas/aarch64/illegal-memtag.s: Likewise. + +2019-01-25 Wu Heng + + PR gas/23940 + * macro.c (getstring): Check array bound before accessing. + +2019-01-25 Alan Modra + + PR 20902 + PR 24125 + * read.c (stringer): Delete assertion. + +2019-01-21 Nick Clifton + + * po/uk.po: Updated Ukranian translation. + +2019-01-19 Nick Clifton + + * config.in: Regenerate. + * configure: Regenerate. + * po/gas.pot: Regenerate. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-17 Tamar Christina + + * testsuite/gas/arm/archv6t2-1-pe.d: New test. + * testsuite/gas/arm/archv6t2-1.d: Skip pe. + * testsuite/gas/arm/csdb.d: Skip pe. + * testsuite/gas/arm/sb-thumb1-pe.d: New test. + * testsuite/gas/arm/sb-thumb1.d: Skip pe. + * testsuite/gas/arm/sb-thumb2-pe.d: New test. + * testsuite/gas/arm/sb-thumb2.d: Skip pe. + * testsuite/gas/arm/udf.d: Skip pe. + +2019-01-16 Kito Cheng + + * testsuite/gas/riscv/attribute-empty.d: New. + +2019-01-16 Kito Cheng + Nelson Chu + + * config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined. + (riscv_set_options): Add `arch_attr` field. + (riscv_opts): Set default value for arch_attr. + (riscv_write_out_arch_attr): New. + (riscv_set_public_attributes): Likewise. + (riscv_md_end): Likewise. + (riscv_convert_symbolic_attribute): Likewise. + (s_riscv_attribute): Likewise. + (explicit_arch_attr): Likewise. + (riscv_pseudo_table): Add .attribute to the table. + (options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR + enumeration constants. + (md_longopts): Add `march-attr' and `mno-arch-attr' options. + (md_parse_option): Handle the new options. + (md_show_usage): Document the `march-attr' option. + * config/tc-riscv.h (md_end): Define as riscv_md_end + (riscv_md_end): Declare. + (CONVERT_SYMBOLIC_ATTRIBUTE): Define as + riscv_convert_symbolic_attribute. + (riscv_convert_symbolic_attribute): Declare. + (start_assemble): Declare. + * testsuite/gas/elf/elf.exp: Adjust test case for section2.e. + * testsuite/gas/elf/section2.e-riscv: New. + * testsuite/gas/riscv/attribute-01.d: New test + * testsuite/gas/riscv/attribute-02.d: Likewise. + * testsuite/gas/riscv/attribute-03.d: Likewise. + * testsuite/gas/riscv/attribute-04.d: Likewise. + * testsuite/gas/riscv/attribute-04.s: Likewise. + * testsuite/gas/riscv/attribute-05.d: Likewise. + * testsuite/gas/riscv/attribute-05.s: Likewise. + * testsuite/gas/riscv/attribute-06.d: Likewise. + * testsuite/gas/riscv/attribute-06.s: Likewise. + * testsuite/gas/riscv/attribute-07.d: Likewise. + * testsuite/gas/riscv/attribute-07.s: Likewise. + * testsuite/gas/riscv/attribute-08.d: Likewise. + * testsuite/gas/riscv/attribute-08.s: Likewise. + * testsuite/gas/riscv/attribute-unknown.d: Likewise. + * testsuite/gas/riscv/attribute-unknown.s: Likewise. + * testsuite/gas/riscv/empty.l: Likewise. + * doc/c-riscv.texi (.attribute): Add documentation. + * configure.ac (--enable-default-riscv-attribute): New options. + * configure: Re-generate. + * config.in: Re-generate. + +2019-01-16 John Darrington + + * config/tc-s12z.c (lex_reg_name): Compare the length of the strings + before the contents. + * testsuite/gas/s12z/labels.d: New file. + * testsuite/gas/s12z/labels.s: New file. + * testsuite/gas/s12z/s12z.exp: Add them. + * config/tc-s12z.c (tfr): Change as_bad to as_warn. + Also fix message typo and semantics. + * config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of + BFD_RELOC_24. + * testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead + of R_S12Z_EXT24. + +2019-01-14 Srinath Parvathaneni + + * config/tc-arm.c (arm_ext_v6k_v6t2): Define. + (insns) [ARM_VARIANT]: Modified. + (insns) [THUMB_VARIANT]: To implement few ARMv6K instructions + in ARMv6T2 as well. + * testsuite/gas/arm/archv6t2-1.d: New test. + * testsuite/gas/arm/archv6t2-1.s: Likewise. + * testsuite/gas/arm/archv6t2-2.d: Likewise. + +2019-01-11 Alan Modra + + PR 23963 + * testsuite/gas/m68hc11/lbranch-dwarf2.d: Adjust for PR23963 change. + * testsuite/gas/m68hc11/opers12-dwarf2.d: Likewise. + +2019-01-10 Nick Clifton + + PR 23963 + * testsuite/gas/mips/mips16-branch-absolute-1.d: Adjust for the + fact that control characters are now displayed as escape + sequences. + * testsuite/gas/mips/mips16-e.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-0.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-1.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-delay-0.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-delay-1.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n32-0.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n32-1.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: Likewise. + * testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-0.d: Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-1.d: Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-0.d: Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-1.d: Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-0.d: Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-1.d: Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d: + Likewise. + * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d: + Likewise. + * testsuite/gas/mips/mipsel16-e.d: Likewise. + * testsuite/gas/mips/mipsr6@msa.d: Likewise. + * testsuite/gas/mips/mipsr6@relax-swap3.d: Likewise. + * testsuite/gas/mips/r6-64-n32.d: Likewise. + * testsuite/gas/mips/r6-64-n64.d: Likewise. + * testsuite/gas/mips/r6-n32.d: Likewise. + * testsuite/gas/mips/r6-n64.d: Likewise. + * testsuite/gas/mips/r6.d: Likewise. + * testsuite/gas/mips/tmips16-e.d: Likewise. + * testsuite/gas/mips/tmipsel16-e.d: Likewise. + * testsuite/gas/mn10300/relax.d: Likewise. + +2019-01-09 John Darrington + + * testsuite/gas/s12z/jsr.s: New case. + * testsuite/gas/s12z/jsr.d: New case. + +2019-01-09 Andrew Paprocki + + * configure: Regenerate. + +2019-01-08 Kyrylo Tkachov + + * config/tc-aarch64.c (aarch64_cpus): Add ares. + * doc/c-aarch64.texi (-mcpu): Document ares value. + +2019-01-08 Alan Modra + + * testsuite/gas/rx/rx.exp: Create generated test source in + current directory. + * testsuite/gas/rx/Xtod.d, * testsuite/gas/rx/abs.d, + * testsuite/gas/rx/adc.d, * testsuite/gas/rx/add.d, + * testsuite/gas/rx/and.d, * testsuite/gas/rx/bclr.d, + * testsuite/gas/rx/bcnd.d, * testsuite/gas/rx/bfmov.d, + * testsuite/gas/rx/bmcnd.d, * testsuite/gas/rx/bnot.d, + * testsuite/gas/rx/bra.d, * testsuite/gas/rx/brk.d, + * testsuite/gas/rx/bset.d, * testsuite/gas/rx/bsr.d, + * testsuite/gas/rx/btst.d, * testsuite/gas/rx/clrpsw.d, + * testsuite/gas/rx/cmp.d, * testsuite/gas/rx/dabs.d, + * testsuite/gas/rx/dadd.d, * testsuite/gas/rx/dbt.d, + * testsuite/gas/rx/dcmp.d, * testsuite/gas/rx/ddiv.d, + * testsuite/gas/rx/div.d, * testsuite/gas/rx/divu.d, + * testsuite/gas/rx/dmov.d, * testsuite/gas/rx/dmul.d, + * testsuite/gas/rx/dneg.d, * testsuite/gas/rx/dpopm.d, + * testsuite/gas/rx/dpushm.d, * testsuite/gas/rx/dround.d, + * testsuite/gas/rx/dsqrt.d, * testsuite/gas/rx/dsub.d, + * testsuite/gas/rx/dtoX.d, * testsuite/gas/rx/emaca.d, + * testsuite/gas/rx/emsba.d, * testsuite/gas/rx/emul.d, + * testsuite/gas/rx/emula.d, * testsuite/gas/rx/emulu.d, + * testsuite/gas/rx/fadd.d, * testsuite/gas/rx/fcmp.d, + * testsuite/gas/rx/fdiv.d, * testsuite/gas/rx/fmul.d, + * testsuite/gas/rx/fsqrt.d, * testsuite/gas/rx/fsub.d, + * testsuite/gas/rx/ftoi.d, * testsuite/gas/rx/ftou.d, + * testsuite/gas/rx/gprel.d, * testsuite/gas/rx/int.d, + * testsuite/gas/rx/itof.d, * testsuite/gas/rx/jmp.d, + * testsuite/gas/rx/jsr.d, * testsuite/gas/rx/machi.d, + * testsuite/gas/rx/maclh.d, * testsuite/gas/rx/maclo.d, + * testsuite/gas/rx/max.d, * testsuite/gas/rx/min.d, + * testsuite/gas/rx/mov.d, * testsuite/gas/rx/movco.d, + * testsuite/gas/rx/movli.d, * testsuite/gas/rx/movu.d, + * testsuite/gas/rx/msbhi.d, * testsuite/gas/rx/msblh.d, + * testsuite/gas/rx/msblo.d, * testsuite/gas/rx/mul.d, + * testsuite/gas/rx/mulhi.d, * testsuite/gas/rx/mullh.d, + * testsuite/gas/rx/mullo.d, * testsuite/gas/rx/mvfacgu.d, + * testsuite/gas/rx/mvfachi.d, * testsuite/gas/rx/mvfaclo.d, + * testsuite/gas/rx/mvfacmi.d, * testsuite/gas/rx/mvfc.d, + * testsuite/gas/rx/mvfcp.d, * testsuite/gas/rx/mvfdc.d, + * testsuite/gas/rx/mvfdr.d, * testsuite/gas/rx/mvtacgu.d, + * testsuite/gas/rx/mvtachi.d, * testsuite/gas/rx/mvtaclo.d, + * testsuite/gas/rx/mvtc.d, * testsuite/gas/rx/mvtcp.d, + * testsuite/gas/rx/mvtdc.d, * testsuite/gas/rx/neg.d, + * testsuite/gas/rx/nop.d, * testsuite/gas/rx/not.d, + * testsuite/gas/rx/opecp.d, * testsuite/gas/rx/or.d, + * testsuite/gas/rx/pop.d, * testsuite/gas/rx/popc.d, + * testsuite/gas/rx/popm.d, * testsuite/gas/rx/push.d, + * testsuite/gas/rx/pushc.d, * testsuite/gas/rx/pushm.d, + * testsuite/gas/rx/r-bcc.d, * testsuite/gas/rx/r-bra.d, + * testsuite/gas/rx/racl.d, * testsuite/gas/rx/racw.d, + * testsuite/gas/rx/rdacl.d, * testsuite/gas/rx/rdacw.d, + * testsuite/gas/rx/revl.d, * testsuite/gas/rx/revw.d, + * testsuite/gas/rx/rmpa.d, * testsuite/gas/rx/rolc.d, + * testsuite/gas/rx/rorc.d, * testsuite/gas/rx/rotl.d, + * testsuite/gas/rx/rotr.d, * testsuite/gas/rx/round.d, + * testsuite/gas/rx/rstr.d, * testsuite/gas/rx/rte.d, + * testsuite/gas/rx/rtfi.d, * testsuite/gas/rx/rts.d, + * testsuite/gas/rx/rtsd.d, * testsuite/gas/rx/sat.d, + * testsuite/gas/rx/satr.d, * testsuite/gas/rx/save.d, + * testsuite/gas/rx/sbb.d, * testsuite/gas/rx/sccnd.d, + * testsuite/gas/rx/scmpu.d, * testsuite/gas/rx/setpsw.d, + * testsuite/gas/rx/shar.d, * testsuite/gas/rx/shll.d, + * testsuite/gas/rx/shlr.d, * testsuite/gas/rx/smovb.d, + * testsuite/gas/rx/smovf.d, * testsuite/gas/rx/smovu.d, + * testsuite/gas/rx/sstr.d, * testsuite/gas/rx/stnz.d, + * testsuite/gas/rx/stz.d, * testsuite/gas/rx/sub.d, + * testsuite/gas/rx/suntil.d, * testsuite/gas/rx/swhile.d, + * testsuite/gas/rx/tst.d, * testsuite/gas/rx/utof.d, + * testsuite/gas/rx/wait.d, * testsuite/gas/rx/xchg.d, + * testsuite/gas/rx/xor.d: Add #source line. + +2019-01-07 Kyrylo Tkachov + + * config/tc-arm.c (arm_cpus): Add ares. + * doc/c-arm.texi (-mcpu): Document ares value. + +2019-01-05 Yoshinori Sato + + * config/rx-defs.h (rx_cpu_types): Add type RXV3 and RXV3FPU. + (rx_bfield): Add prototype. + (rx_post): Likewise. + * config/rx-parse.y: Add v3 instructions and Double FPU registers. + (DSIZE): Define. + (POST): Define. + (rx_check_v3): New. check v3 type. + (rx_check_dfpu): New. check have double support. + (double_condition_table): New. dcmp contiditon. + (check_condition): Multiple condition support. + (rx_lex): RXv3 instructions support. + Add parse dcmp instruction and Double FPU registers. + (immediate): Disable optimize in dmov #imm case. + (displacement): Add double displacement in dmov instraction. + * config/tc-rx.c (rx_use_conventional_section_names): + Invert default value in rx-*-linux target. + (cpu_type): Add additional ELF flags. + (cpu_type_list): Add RXv3. + (md_parse_option): Refer elf_flags from cpu_type_list. + (md_show_usage): Add rxv3 and rxv3-dfpu. + (rx_bytesT): Add post byte. + (rx_bfield): New. generate bfmov / bfmovz "imm" field. + (rx_post): New. Set instruction post byte. + (md_assemble): Add post byte. + doc/c-rx.texi: Add cpu types. + * testsuite/gas/rx/Xtod.d: New. + * testsuite/gas/rx/Xtod.sm: New. + * testsuite/gas/rx/bfmov.d: New. + * testsuite/gas/rx/bfmov.sm: New. + * testsuite/gas/rx/dabs.d: New. + * testsuite/gas/rx/dabs.sm: New. + * testsuite/gas/rx/dadd.d: New. + * testsuite/gas/rx/dadd.sm: New. + * testsuite/gas/rx/dcmp.d: New. + * testsuite/gas/rx/dcmp.sm: New. + * testsuite/gas/rx/ddiv.d: New. + * testsuite/gas/rx/ddiv.sm: New. + * testsuite/gas/rx/dmov.d: New. + * testsuite/gas/rx/dmov.sm: New. + * testsuite/gas/rx/dmul.d: New. + * testsuite/gas/rx/dmul.sm: New. + * testsuite/gas/rx/dneg.d: New. + * testsuite/gas/rx/dneg.sm: New. + * testsuite/gas/rx/dpopm.d: New. + * testsuite/gas/rx/dpopm.sm: New. + * testsuite/gas/rx/dpushm.d: New. + * testsuite/gas/rx/dpushm.sm: New. + * testsuite/gas/rx/dround.d: New. + * testsuite/gas/rx/dround.sm: New. + * testsuite/gas/rx/dsqrt.d: New. + * testsuite/gas/rx/dsqrt.sm: New. + * testsuite/gas/rx/dsub.d: New. + * testsuite/gas/rx/dsub.sm: New. + * testsuite/gas/rx/dtoX.d: New. + * testsuite/gas/rx/dtoX.sm: New. + * testsuite/gas/rx/macros.inc: Add double FPU registers. + * testsuite/gas/rx/mvfdc.d: New. + * testsuite/gas/rx/mvfdc.sm: New. + * testsuite/gas/rx/mvfdr.d: New. + * testsuite/gas/rx/mvfdr.sm: New. + * testsuite/gas/rx/mvtdc.d: New. + * testsuite/gas/rx/mvtdc.sm: New. + * testsuite/gas/rx/rstr.d: New. + * testsuite/gas/rx/rstr.sm: New. + * testsuite/gas/rx/rx.exp: Use rxv3-dfpu option. + * testsuite/gas/rx/save.d: New. + * testsuite/gas/rx/save.sm: New. + * testsuite/gas/rx/xor.d: New. + * testsuite/gas/rx/xor.sm: Add pattern. + +2019-01-04 Wu Heng + + PR 24010 + * macro.c (get_any_string): Check for end of input whilst scanning + for separators. + +2019-01-04 Wu Heng + + PR 24009 + * read.c (stringer): Fix handling of missing '>' character at end + of <...> sequence. + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/gold/ChangeLog b/gold/ChangeLog index 3dc2ce81b72..43dd3f31db7 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,280 +1,6 @@ -2019-11-26 Martin Liska - - * layout.cc (Layout::special_ordering_of_input_section): - Add ".text.sorted". - * output.cc: Special case ".text.sorted". - * testsuite/section_sorting_name.cc: Cover also .text.sorted - subsections. - * testsuite/section_sorting_name.sh: Likewise. - -2019-11-19 Alan Modra - - PR 24853 - * symtab.h (set_has_gnu_output, has_gnu_output_): New. - * symtab.cc (Symbol_table::Symbol_table): Init has_gnu_output_. - (Symbol_table::finalize): Set ELFOSABI_GNU when has_gnu_output_. - (Symbol_table::set_dynsym_indexes, Symbol_table::sized_finalize): - Call set_has_gnu_output for STT_GNU_IFUNC and STB_GNU_UNIQUE globals. - * object.cc (Sized_relobj_file::do_finalize_local_symbols): Call - set_has_gnu_output when STT_GNU_IFUNC locals will be output. - -2019-11-11 Miguel Saldivar - - PR 24996 - * expression.cc (Trinary_expression::arg2_value): Use correct integer - expression when calling "eval_maybe_dot" method. - (Trinary_expression::arg3_value): Likewise. - -2019-09-28 Alan Modra - - PR 16794 - * i386.cc (Target_i386::Relocate::relocate ): Don't - ignore addend, apply using pcrel32. - * x86_64.cc (Target_x86_64::Relocate::relocate ): - Similarly use pcrel64. - -2019-09-24 Nick Clifton - - * descriptors.cc: Include - -2019-09-23 Alan Modra - - * testsuite/plugin_new_section_layout.c (new_input_hook): Correct - return status enum values. - -2019-09-20 Alan Modra - - PR 24768 - * layout.cc (Layout::Layout): Init lto_slim_object_. - * object.cc (Sized_relobj_file::do_layout): Wrap overlong line. - Don't use C cast. Validate section size. Don't copy contents. - -2019-09-20 Alan Modra - - * powerpc.cc (Target_powerpc::Scan::check_non_pic): Move REL24 - to 32-bit supported. - -2019-09-18 Simon Marchi - - * testsuite/Makefile.in: Re-generate. - -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-08-16 Martin Liska - - PR ld/24912 - * object.cc (big_endian>::do_layout): Do not report error, - but only set a flag. - (big_endian>::do_add_symbols): Report error only for when - relocatable. - -2019-08-02 Alan Modra - - * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Set - flags for new relocations, and some missing older relocs. - (Target_powerpc::Scan::local): Handle new pcrel tls relocs. - Call set_has_static_tls for tprel relocs. - (Target_powerpc::Scan::global): Likewise. - (Target_powerpc::Relocate::relocate): Handle new pcrel tls relocs. - -2019-08-02 Alan Modra - - * powerpc.cc (Powerpc_relocate_functions::rela, rela_ua): Perform - signed right shift for signed overflow check. - -2019-07-29 Martin Liska - - PR 24768 - * layout.h (class Layout): Add is_lto_slim_object and - set_lto_slim_object. - * object.cc (struct lto_section): Add lto_slim_object_. - (big_endian>::do_layout): Parse content of - .gnu_lto_.lto section. - (big_endian>::do_add_symbols): Report error for a missing - LTO plugin. - -2019-07-13 Alan Modra - - * powerpc.cc (xlate_pcrel_opt): New function. - (Target_powerpc::Relocate::relocate): Optimise PCREL34 and - GOT_PCREL34 sequences marked with PCREL_OPT. - -2019-07-13 Alan Modra - - * powerpc.cc (Powerpc_relobj::make_got_relative): New function. - (relative_value_is_known): New functions. - (Target_powerpc::Relocate::relocate): Edit code using - GOT16_HA, GOT16_LO_DS, and GOT_PCREL34 relocs. - -2019-07-13 Alan Modra - - * powerpc.cc (Target_powerpc): Add powerxx_stubs_ and accessor - functions. - (Target_powerpc::maybe_skip_tls_get_addr_call): Handle PLT_PCREL34 - and PLT_PCREL34_NOTOC relocs. - (Powerpc_relocate_functions): Add addr34, addr34_hi, addr34_ha, - addr28, addr16_higher34, addr16_highera34, addr16_highest34, - addr16_highest34a functions. - (li_11_0, ori_11_11_0, sldi_11_11_34): Define. - (paddi_12_pc, pld_12_pc, pnop): Define. - (d34, ha34): New inline functions. - (Stub_table::add_plt_call_entry): Handle powerxx_stubs. - (Stub_table::add_eh_frame): Likewise. - (build_powerxx_offset): New function. - (Stub_table::plt_call_size): Handle powerxx_stubs. - (Stub_table::branch_stub_size): Likewise. - (Stub_table::do_write): Likewise. - (Target_powerpc::Scan::get_reference_flags): Handle new relocs. - (Target_powerpc::Scan::reloc_needs_plt_for_ifunc: Likewise. - (Target_powerpc::Scan::local, global, relocate): Likewise. - -2019-07-13 Alan Modra - - * ehframe.cc (Fde::operator==): Delete. - (Cie::remove_fde): Delete. - (Eh_frame::remove_ehframe_for_plt): Delete fde_data and fde_length - parameters. Remove all post-map plt FDEs. - * ehframe.h (Fde:post_map): Make const, add variant to compare plt. - (Fde::operator==): Delete. - (Cie::remove_fde): Implement here. - (Cie::last_fde): New accessor. - (Eh_frame::remove_ehframe_for_plt): Update prototype. - * layout.cc (Layout::remove_eh_frame_for_plt): Delete fde_data and - fde_length parameters. - * layout.h (Layout::remove_eh_frame_for_plt): Update prototype. - * powerpc.cc (Stub_table::tls_get_addr_opt_bctrl_): Delete. - (Stub_table::plt_fde_len_, plt_fde_, init_plt_fde): Delete. - (Stub_table::add_plt_call_entry): Don't set tls_get_addr_opt_bctrl_. - (eh_advance): New function. - (stub_sort): New function. - (Stub_table::add_eh_frame): Emit eh_frame for notoc plt calls and - branches as well as __tls_get_addr_opt plt call stub. - (Stub_table::remove_eh_frame): Update to suit. - -2019-07-13 Alan Modra - - * powerpc.cc (Target_powerpc::maybe_skip_tls_get_addr_call): Handle - notoc calls. - (is_branch_reloc): Template on size. Return true for REL24_NOTOC. - Update all callers. - (max_branch_delta): Likewise. - (Target_powerpc::Branch_info::make_stub): Add a stub for notoc - calls to functions needing a valid toc pointer. - (Target_powerpc::do_relax): Layout stubs again if any need resize. - (add_12_11_12, addi_12_11, addis_12_11, ldx_12_11_12, ori_12_12_0), - (oris_12_12_0, sldi_12_12_32): Define. - (Stub_table::Plt_stub_ent): Add notoc_ and iter_ fields. - (Stub_table::Branch_stub_key, Branch_stub_key_hash): Rename from - Branch_stub_ent and Branch_stub_ent hash. Remove save_res_ from key. - (Stub_table::Branch_stub_ent): New struct. - (class Stub_table): Add need_resize and resizing vars. - (Stub_table::need_resize, branch_size): New accessors. - (Stub_table::set_resizing): New function. - (Stub_table::add_plt_call_entry): Handle notoc calls and resizing - on seeing such or a tocsave stubs after a normal stub using the - same sym. - (Stub_table::add_long_branch_entry): Similarly. - (Stub_table::find_long_branch_entry): Return a Branch_stub_ent*. - (Stub_table::define_stub_syms): Adjust - (Stub_table::build_tls_opt_head, build_tls_opt_tail): New functions. - (build_notoc_offset): New function. - (Stub_table::plt_call_size): Move out of line. Handle notoc calls. - (Stub_table::branch_stub_size): Similarly. - (Stub_table::do_write): Separate loop for ELFv2 stubs, handling - notoc calls. Simplify ELFv1 loop. Output notoc branch stubs. - Use build_tls_opt_head and build_tls_opt_tail. - (Target_powerpc::Scan::get_reference_flags): Handle REL24_NOTOC. - (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise, - and PLTSEQ_NOTOC and PLTCALL_NOTOC. - (Target_powerpc::Scan::local, global, relocate): Likewise. - -2019-06-28 Alan Modra - - * powerpc.cc (Target_powerpc::Relocate::relocate): Don't look - at next/previous reloc when relnum is -1. - -2019-06-28 Alan Modra - - * powerpc.cc (Stub_table::plt_error): New function. - (Stub_table::do_write): Use it. - (Output_data_glink::do_write): Don't segfault emitting linkage - table error. - -2019-06-28 Alan Modra - - * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Handle - REL16_HIGH* relocs. - (Target_powerpc::Scan::local): Likewise. - (Target_powerpc::Scan::global): Likewise. - (Target_powerpc::Relocate::relocate): Likewise. - -2019-06-10 Martin Liska - - * errors.h: Include string. - -2019-05-10 Joshua Oreman - - PR gold/21066 - * gc.h (gc_process_relocs): Track relocations in .eh_frame sections - when ICF is enabled, even though the .eh_frame sections themselves - are not foldable. - * icf.cc (get_section_contents): Change arguments to permit operation - on just part of a section. Include extra identity regions in the - referring section's contents recursively. - (match_sections): Lock object here instead of in get_section_contents - so that get_section_contents can operate recursively. - (Icf::add_ehframe_links): New method. - (Icf::find_identical_sections): Pass .eh_frame sections to - add_ehframe_links(). Increase default iteration count from 2 to 3 - because handling exception info typically requires one extra iteration. - * icf.h (Icf::extra_identity_list_): New data member with accessor. - (is_section_foldable_candidate): Include .gcc_except_table sections. - * options.h: Update documentation for new default ICF iteration count. - * testsuite/Makefile.am (icf_test_pr21066): New test case. - * testsuite/Makefile.in: Regenerate. - * testsuite/icf_test_pr21066.cc: New source file. - * testsuite/icf_test_pr21066.sh: New test script. - -2019-02-19 Egeyar Bagcioglu - - PR gold/23870 - * aarch64.cc (Target_aarch64::Scan::global): Check if a symbol with - R_AARCH64_MOVW_.ABS_* relocations requires a PLT entry. - * testsuite/Makefile.am: Add aarch64_pr23870 test case. - * testsuite/Makefile.in: Regenerate. - * testsuite/aarch64_pr23870_bar.c: New file. - * testsuite/aarch64_pr23870_foo.c: New file. - * testsuite/aarch64_pr23870_main.S: New file. - -2019-02-12 Nick Clifton - - * po/fr.po: Updated French translation. - -2019-01-21 Nick Clifton - - * po/uk.po: Updated Ukranian translation. - -2019-01-19 Nick Clifton - - * po/gold.pot: Regenerate. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-09 Andrew Paprocki - - * configure: Regenerate. - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gold/ChangeLog-2019 b/gold/ChangeLog-2019 new file mode 100644 index 00000000000..3dc2ce81b72 --- /dev/null +++ b/gold/ChangeLog-2019 @@ -0,0 +1,288 @@ +2019-11-26 Martin Liska + + * layout.cc (Layout::special_ordering_of_input_section): + Add ".text.sorted". + * output.cc: Special case ".text.sorted". + * testsuite/section_sorting_name.cc: Cover also .text.sorted + subsections. + * testsuite/section_sorting_name.sh: Likewise. + +2019-11-19 Alan Modra + + PR 24853 + * symtab.h (set_has_gnu_output, has_gnu_output_): New. + * symtab.cc (Symbol_table::Symbol_table): Init has_gnu_output_. + (Symbol_table::finalize): Set ELFOSABI_GNU when has_gnu_output_. + (Symbol_table::set_dynsym_indexes, Symbol_table::sized_finalize): + Call set_has_gnu_output for STT_GNU_IFUNC and STB_GNU_UNIQUE globals. + * object.cc (Sized_relobj_file::do_finalize_local_symbols): Call + set_has_gnu_output when STT_GNU_IFUNC locals will be output. + +2019-11-11 Miguel Saldivar + + PR 24996 + * expression.cc (Trinary_expression::arg2_value): Use correct integer + expression when calling "eval_maybe_dot" method. + (Trinary_expression::arg3_value): Likewise. + +2019-09-28 Alan Modra + + PR 16794 + * i386.cc (Target_i386::Relocate::relocate ): Don't + ignore addend, apply using pcrel32. + * x86_64.cc (Target_x86_64::Relocate::relocate ): + Similarly use pcrel64. + +2019-09-24 Nick Clifton + + * descriptors.cc: Include + +2019-09-23 Alan Modra + + * testsuite/plugin_new_section_layout.c (new_input_hook): Correct + return status enum values. + +2019-09-20 Alan Modra + + PR 24768 + * layout.cc (Layout::Layout): Init lto_slim_object_. + * object.cc (Sized_relobj_file::do_layout): Wrap overlong line. + Don't use C cast. Validate section size. Don't copy contents. + +2019-09-20 Alan Modra + + * powerpc.cc (Target_powerpc::Scan::check_non_pic): Move REL24 + to 32-bit supported. + +2019-09-18 Simon Marchi + + * testsuite/Makefile.in: Re-generate. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-08-16 Martin Liska + + PR ld/24912 + * object.cc (big_endian>::do_layout): Do not report error, + but only set a flag. + (big_endian>::do_add_symbols): Report error only for when + relocatable. + +2019-08-02 Alan Modra + + * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Set + flags for new relocations, and some missing older relocs. + (Target_powerpc::Scan::local): Handle new pcrel tls relocs. + Call set_has_static_tls for tprel relocs. + (Target_powerpc::Scan::global): Likewise. + (Target_powerpc::Relocate::relocate): Handle new pcrel tls relocs. + +2019-08-02 Alan Modra + + * powerpc.cc (Powerpc_relocate_functions::rela, rela_ua): Perform + signed right shift for signed overflow check. + +2019-07-29 Martin Liska + + PR 24768 + * layout.h (class Layout): Add is_lto_slim_object and + set_lto_slim_object. + * object.cc (struct lto_section): Add lto_slim_object_. + (big_endian>::do_layout): Parse content of + .gnu_lto_.lto section. + (big_endian>::do_add_symbols): Report error for a missing + LTO plugin. + +2019-07-13 Alan Modra + + * powerpc.cc (xlate_pcrel_opt): New function. + (Target_powerpc::Relocate::relocate): Optimise PCREL34 and + GOT_PCREL34 sequences marked with PCREL_OPT. + +2019-07-13 Alan Modra + + * powerpc.cc (Powerpc_relobj::make_got_relative): New function. + (relative_value_is_known): New functions. + (Target_powerpc::Relocate::relocate): Edit code using + GOT16_HA, GOT16_LO_DS, and GOT_PCREL34 relocs. + +2019-07-13 Alan Modra + + * powerpc.cc (Target_powerpc): Add powerxx_stubs_ and accessor + functions. + (Target_powerpc::maybe_skip_tls_get_addr_call): Handle PLT_PCREL34 + and PLT_PCREL34_NOTOC relocs. + (Powerpc_relocate_functions): Add addr34, addr34_hi, addr34_ha, + addr28, addr16_higher34, addr16_highera34, addr16_highest34, + addr16_highest34a functions. + (li_11_0, ori_11_11_0, sldi_11_11_34): Define. + (paddi_12_pc, pld_12_pc, pnop): Define. + (d34, ha34): New inline functions. + (Stub_table::add_plt_call_entry): Handle powerxx_stubs. + (Stub_table::add_eh_frame): Likewise. + (build_powerxx_offset): New function. + (Stub_table::plt_call_size): Handle powerxx_stubs. + (Stub_table::branch_stub_size): Likewise. + (Stub_table::do_write): Likewise. + (Target_powerpc::Scan::get_reference_flags): Handle new relocs. + (Target_powerpc::Scan::reloc_needs_plt_for_ifunc: Likewise. + (Target_powerpc::Scan::local, global, relocate): Likewise. + +2019-07-13 Alan Modra + + * ehframe.cc (Fde::operator==): Delete. + (Cie::remove_fde): Delete. + (Eh_frame::remove_ehframe_for_plt): Delete fde_data and fde_length + parameters. Remove all post-map plt FDEs. + * ehframe.h (Fde:post_map): Make const, add variant to compare plt. + (Fde::operator==): Delete. + (Cie::remove_fde): Implement here. + (Cie::last_fde): New accessor. + (Eh_frame::remove_ehframe_for_plt): Update prototype. + * layout.cc (Layout::remove_eh_frame_for_plt): Delete fde_data and + fde_length parameters. + * layout.h (Layout::remove_eh_frame_for_plt): Update prototype. + * powerpc.cc (Stub_table::tls_get_addr_opt_bctrl_): Delete. + (Stub_table::plt_fde_len_, plt_fde_, init_plt_fde): Delete. + (Stub_table::add_plt_call_entry): Don't set tls_get_addr_opt_bctrl_. + (eh_advance): New function. + (stub_sort): New function. + (Stub_table::add_eh_frame): Emit eh_frame for notoc plt calls and + branches as well as __tls_get_addr_opt plt call stub. + (Stub_table::remove_eh_frame): Update to suit. + +2019-07-13 Alan Modra + + * powerpc.cc (Target_powerpc::maybe_skip_tls_get_addr_call): Handle + notoc calls. + (is_branch_reloc): Template on size. Return true for REL24_NOTOC. + Update all callers. + (max_branch_delta): Likewise. + (Target_powerpc::Branch_info::make_stub): Add a stub for notoc + calls to functions needing a valid toc pointer. + (Target_powerpc::do_relax): Layout stubs again if any need resize. + (add_12_11_12, addi_12_11, addis_12_11, ldx_12_11_12, ori_12_12_0), + (oris_12_12_0, sldi_12_12_32): Define. + (Stub_table::Plt_stub_ent): Add notoc_ and iter_ fields. + (Stub_table::Branch_stub_key, Branch_stub_key_hash): Rename from + Branch_stub_ent and Branch_stub_ent hash. Remove save_res_ from key. + (Stub_table::Branch_stub_ent): New struct. + (class Stub_table): Add need_resize and resizing vars. + (Stub_table::need_resize, branch_size): New accessors. + (Stub_table::set_resizing): New function. + (Stub_table::add_plt_call_entry): Handle notoc calls and resizing + on seeing such or a tocsave stubs after a normal stub using the + same sym. + (Stub_table::add_long_branch_entry): Similarly. + (Stub_table::find_long_branch_entry): Return a Branch_stub_ent*. + (Stub_table::define_stub_syms): Adjust + (Stub_table::build_tls_opt_head, build_tls_opt_tail): New functions. + (build_notoc_offset): New function. + (Stub_table::plt_call_size): Move out of line. Handle notoc calls. + (Stub_table::branch_stub_size): Similarly. + (Stub_table::do_write): Separate loop for ELFv2 stubs, handling + notoc calls. Simplify ELFv1 loop. Output notoc branch stubs. + Use build_tls_opt_head and build_tls_opt_tail. + (Target_powerpc::Scan::get_reference_flags): Handle REL24_NOTOC. + (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise, + and PLTSEQ_NOTOC and PLTCALL_NOTOC. + (Target_powerpc::Scan::local, global, relocate): Likewise. + +2019-06-28 Alan Modra + + * powerpc.cc (Target_powerpc::Relocate::relocate): Don't look + at next/previous reloc when relnum is -1. + +2019-06-28 Alan Modra + + * powerpc.cc (Stub_table::plt_error): New function. + (Stub_table::do_write): Use it. + (Output_data_glink::do_write): Don't segfault emitting linkage + table error. + +2019-06-28 Alan Modra + + * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Handle + REL16_HIGH* relocs. + (Target_powerpc::Scan::local): Likewise. + (Target_powerpc::Scan::global): Likewise. + (Target_powerpc::Relocate::relocate): Likewise. + +2019-06-10 Martin Liska + + * errors.h: Include string. + +2019-05-10 Joshua Oreman + + PR gold/21066 + * gc.h (gc_process_relocs): Track relocations in .eh_frame sections + when ICF is enabled, even though the .eh_frame sections themselves + are not foldable. + * icf.cc (get_section_contents): Change arguments to permit operation + on just part of a section. Include extra identity regions in the + referring section's contents recursively. + (match_sections): Lock object here instead of in get_section_contents + so that get_section_contents can operate recursively. + (Icf::add_ehframe_links): New method. + (Icf::find_identical_sections): Pass .eh_frame sections to + add_ehframe_links(). Increase default iteration count from 2 to 3 + because handling exception info typically requires one extra iteration. + * icf.h (Icf::extra_identity_list_): New data member with accessor. + (is_section_foldable_candidate): Include .gcc_except_table sections. + * options.h: Update documentation for new default ICF iteration count. + * testsuite/Makefile.am (icf_test_pr21066): New test case. + * testsuite/Makefile.in: Regenerate. + * testsuite/icf_test_pr21066.cc: New source file. + * testsuite/icf_test_pr21066.sh: New test script. + +2019-02-19 Egeyar Bagcioglu + + PR gold/23870 + * aarch64.cc (Target_aarch64::Scan::global): Check if a symbol with + R_AARCH64_MOVW_.ABS_* relocations requires a PLT entry. + * testsuite/Makefile.am: Add aarch64_pr23870 test case. + * testsuite/Makefile.in: Regenerate. + * testsuite/aarch64_pr23870_bar.c: New file. + * testsuite/aarch64_pr23870_foo.c: New file. + * testsuite/aarch64_pr23870_main.S: New file. + +2019-02-12 Nick Clifton + + * po/fr.po: Updated French translation. + +2019-01-21 Nick Clifton + + * po/uk.po: Updated Ukranian translation. + +2019-01-19 Nick Clifton + + * po/gold.pot: Regenerate. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-09 Andrew Paprocki + + * configure: Regenerate. + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/gprof/ChangeLog b/gprof/ChangeLog index f638de2ebad..43dd3f31db7 100644 --- a/gprof/ChangeLog +++ b/gprof/ChangeLog @@ -1,86 +1,6 @@ -2019-11-15 Nick Clifton - - PR 2587 - * Makefile.am: Revert change from 2019-11-13. - * Makefile.in: Regenerate. - -2019-11-14 Nick Clifton - - PR 2587 - * Makefile.am (SUFFIXES): Add .c. - * Makefile.in: Regenerate. - -2019-11-13 Nick Clifton - - PR 2587 - * Makefile.am: Fix rule to build .c files from .m files. - -2019-09-18 Alan Modra - - * corefile.c, * symtab.c: Update throughout for bfd section - macro and function changes. - -2019-09-18 Simon Marchi - - * Makefile.in: Re-generate. - * configure: Re-generate. - -2019-09-16 Phil Blundell - - * Makefile.in, configure: Regenerated. - -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-05-20 Nick Clifton - - PR 24569 - * gprof.c (usage): Restore alphabetical sorting to short options - list. Add -r, -R and -t short options to the list. - (main): Add comment about -g and -G possibly being deprecated. - * gprof.texi: Update usage example in line with changes above. - -2019-05-20 Nick Clifton - - * po/de.po: Updated German translation. - -2019-05-08 Alan Modra - - PR 24520 - * corefile.c (core_init): Set BFD_DECOMPRESS. - -2019-04-01 Alan Modra - - PR 24402 - * symtab.c (symtab_finalize): Init prev_addr to one less than - first symbol address, not one more. Correct test for symbols - with leading underscores. - -2019-01-21 Nick Clifton - - * po/tr.po: Updated Turkish translation. - -2019-01-19 Nick Clifton - - * configure: Regenerate. - * po/gprof.pot: Regenerate. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-09 Andrew Paprocki - - * configure: Regenerate. - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/gprof/ChangeLog-2019 b/gprof/ChangeLog-2019 new file mode 100644 index 00000000000..f638de2ebad --- /dev/null +++ b/gprof/ChangeLog-2019 @@ -0,0 +1,94 @@ +2019-11-15 Nick Clifton + + PR 2587 + * Makefile.am: Revert change from 2019-11-13. + * Makefile.in: Regenerate. + +2019-11-14 Nick Clifton + + PR 2587 + * Makefile.am (SUFFIXES): Add .c. + * Makefile.in: Regenerate. + +2019-11-13 Nick Clifton + + PR 2587 + * Makefile.am: Fix rule to build .c files from .m files. + +2019-09-18 Alan Modra + + * corefile.c, * symtab.c: Update throughout for bfd section + macro and function changes. + +2019-09-18 Simon Marchi + + * Makefile.in: Re-generate. + * configure: Re-generate. + +2019-09-16 Phil Blundell + + * Makefile.in, configure: Regenerated. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-05-20 Nick Clifton + + PR 24569 + * gprof.c (usage): Restore alphabetical sorting to short options + list. Add -r, -R and -t short options to the list. + (main): Add comment about -g and -G possibly being deprecated. + * gprof.texi: Update usage example in line with changes above. + +2019-05-20 Nick Clifton + + * po/de.po: Updated German translation. + +2019-05-08 Alan Modra + + PR 24520 + * corefile.c (core_init): Set BFD_DECOMPRESS. + +2019-04-01 Alan Modra + + PR 24402 + * symtab.c (symtab_finalize): Init prev_addr to one less than + first symbol address, not one more. Correct test for symbols + with leading underscores. + +2019-01-21 Nick Clifton + + * po/tr.po: Updated Turkish translation. + +2019-01-19 Nick Clifton + + * configure: Regenerate. + * po/gprof.pot: Regenerate. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-09 Andrew Paprocki + + * configure: Regenerate. + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/include/ChangeLog b/include/ChangeLog index ce3e0496068..43dd3f31db7 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,765 +1,6 @@ -2019-12-17 Alan Modra - - * coff/tic80.h: Delete file. - * opcode/tic80.h: Delete file. - -2019-12-16 Alan Modra - - * opcode/crx.h (inst ): Make unsigned int. - -2019-12-16 Alan Modra - - * opcode/nds32.h (N32_BIT): Define using 1u. - (__SEXT): Use __MASK and N32_BIT. - (N32_IMMS): Remove duplicate mask. - -2019-12-12 Luis Machado - - * diagnostics.h (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION). Remove - definitions. - -2019-12-11 Alan Modra - - * opcode/mmix.h (PUSHGO_INSN_BYTE): Make unsigned. - (GO_INSN_BYTE, SETL_INSN_BYTE, INCML_INSN_BYTE, INCMH_INSN_BYTE), - (INCH_INSN_BYTE, SWYM_INSN_BYTE, JMP_INSN_BYTE): Likewise. - -2019-12-11 Alan Modra - - * dis-asm.h (INSN_HAS_RELOC, DISASSEMBLE_DATA), - (USER_SPECIFIED_MACHINE_TYPE, WIDE_OUTPUT): Make unsigned. - * opcode/tic80.h (TIC80_OPERAND_*): Likewise. - -2019-12-10 Alan Modra - - PR 24960 - * dis-asm.h (disassemble_free_target): Declare. - -2019-12-10 Alan Modra - - * dis-asm.h (struct disassemble_info): Delete insn_sets. - (INIT_DISASSEMBLE_INFO_NO_ARCH): Don't define. - -2019-12-05 Jan Beulich - - * opcode/aarch64.h (AARCH64_FEATURE_CRYPTO): Expand to the - combination of AES and SHA2. - -2019-11-25 Alan Modra - - * coff/ti.h (GET_SCNHDR_SIZE, PUT_SCNHDR_SIZE, GET_SCN_SCNLEN), - (PUT_SCN_SCNLEN): Adjust bfd_octets_per_byte calls. - -2019-11-22 Mihail Ionescu - - * opcode/arm.h (ARM_EXT2_CRC): New extension feature - to replace CRC_EXT_ARMV8. - (CRC_EXT_ARMV8): Remove and mark bit as unused. - (ARM_ARCH_V8A_CRC, ARM_ARCH_V8_1A, ARM_ARCH_V8_2A, - ARM_ARCH_V8_3A, ARM_ARCH_V8_4A, ARM_ARCH_V8_5A, - ARM_ARCH_V8_6A): Redefine using ARM_EXT2_CRC instead of - CRC_EXT_ARMV8. - -2019-11-18 Andrew Burgess - - * dwarf2.h (DW_CIE_VERSION): Delete. - -2019-11-07 Mihail Ionescu - - * opcode/arm.h (ARM_EXT2_I8MM): New feature macro. - -2019-11-07 Mihail Ionescu - - * opcode/aarch64.h (AARCH64_FEATURE_I8MM): New. - (AARCH64_FEATURE_F32MM): New. - (AARCH64_FEATURE_F64MM): New. - (AARCH64_OPND_SVE_ADDR_RI_S4x32): New. - (enum aarch64_insn_class): Add new instruction class "aarch64_misc" for - instructions that do not require special handling. - -2019-11-07 Mihail Ionescu - Matthew Malcomson - - * opcode/arm.h (ARM_EXT2_V8_6A, ARM_AEXT2_V8_6A, - ARM_ARCH_V8_6A): New. - * opcode/arm.h (ARM_EXT2_BF16): New feature macro. - (ARM_AEXT2_V8_6A): Include above macro in definition. - -2019-11-07 Mihail Ionescu - Matthew Malcomson - - * opcode/aarch64.h (AARCH64_FEATURE_BFLOAT16): New feature macros. - (AARCH64_ARCH_V8_6): Include BFloat16 feature macros. - (enum aarch64_opnd_qualifier): Introduce new operand qualifier - AARCH64_OPND_QLF_S_2H. - (enum aarch64_insn_class): Introduce new class "bfloat16". - (BFLOAT16_SVE_INSNC): New feature set for bfloat16 - instructions to support the movprfx constraint. - -2019-11-07 Mihail Ionescu - Matthew Malcomson - - * opcode/aarch64.h (AARCH64_FEATURE_V8_6): New. - (AARCH64_ARCH_V8_6): New. - -2019-11-07 Alan Modra - - * elf/cr16c.h: Delete. - -2019-10-29 Andrew Eikum - - * coff/internal.h (struct internal_extra_pe_filehdr): Use ints - instead of longs to hold dos_message. - -2019-10-25 Alan Modra - - PR 4499 - * elf/internal.h (struct elf_segment_map): Delete header_size. - Add no_sort_lma and idx. - -2019-10-16 Alan Modra - - PR 13616 - * bfdlink.h (struct bfd_link_info ): New field. - -2019-10-07 Jozef Lawrynowicz - - * elf/msp430.h: Add enums for MSPABI and GNU object attribute tag - names and values. - -2019-09-23 Nick Alcock - - * ctf-api.h (ctf_cuname_set): Can now fail, returning int. - (ctf_parent_name_set): Likewise. - -2019-08-05 Nick Alcock - - * ctf-api.h (ECTF_NONREPRESENTABLE): New. - -2019-09-23 Nick Alcock - - * ctf-api.h: Note the instability of the ctf_link interfaces. - -2019-07-13 Nick Alcock - - * bfdlink.h (elf_strtab_hash): New forward. - (elf_sym_strtab): Likewise. - (struct bfd_link_callbacks ): New. - (struct bfd_link_callbacks ): Likewise. - -2019-07-13 Nick Alcock - - * ctf-api.h (includes): No longer include . - -2019-07-30 Nick Alcock - - * ctf-api.h (ctf_link_add_cu_mapping): New. - (ctf_link_memb_name_changer_f): New. - (ctf_link_set_memb_name_changer): New. - -2019-07-13 Nick Alcock - - * ctf-api.h (ECTF_INTERNAL): New. - -2019-07-13 Nick Alcock - - * ctf-api.h (struct ctf_link_sym): New, a symbol in flight to the - libctf linking machinery. - (CTF_LINK_SHARE_UNCONFLICTED): New. - (CTF_LINK_SHARE_DUPLICATED): New. - (ECTF_LINKADDEDLATE): New, replacing ECTF_UNUSED. - (ECTF_NOTYET): New, a 'not yet implemented' message. - (ctf_link_add_ctf): New, add an input file's CTF to the link. - (ctf_link): New, merge the type and string sections. - (ctf_link_strtab_string_f): New, callback for feeding strtab info. - (ctf_link_iter_symbol_f): New, callback for feeding symtab info. - (ctf_link_add_strtab): New, tell the CTF linker about the ELF - strtab's strings. - (ctf_link_shuffle_syms): New, ask the CTF linker to shuffle its - symbols into symtab order. - (ctf_link_write): New, ask the CTF linker to write the CTF out. - -2019-07-13 Nick Alcock - - * ctf-api.h (ctf_arc_write_fd): New. - (ctf_write_mem): Likewise. - (ctf_gzwrite): Spacing fix. - -2019-07-13 Nick Alcock - - * ctf.h (CTF_SET_STID): New. - -2019-07-13 Nick Alcock - - * ctf-api.h (ctf_type_all_f): New. - (ctf_type_iter_all): New. - -2019-07-11 Nick Alcock - - * ctf.h: Add object index and function index sections. Describe - them. Improve the description of the variable section and clarify - the constraints on backward-pointing type nodes. - (ctf_header): Add cth_objtidxoff, cth_funcidxoff. - -2019-07-06 Nick Alcock - - * ctf-api.h (ctf_cuname): New function. - (ctf_cuname_set): Likewise. - * ctf.h: Improve comment around upgrading, no longer - implying that v2 is the target of upgrades (it is v3 now). - (ctf_header_v2_t): New, old-format header for backward - compatibility. - (ctf_header_t): Add cth_cuname: this is the first of several - header changes in format v3. - -2019-09-23 Alan Modra - - * bfdlink.h (struct bfd_section_already_linked): Forward declare. - (bfd_section_already_linked_table_init), - (bfd_section_already_linked_table_free), - (_bfd_handle_already_linked, _bfd_nearby_section), - (_bfd_fix_excluded_sec_syms): Declare. - -2019-09-23 Alan Modra - - * bfdlink.h (enum notice_asneeded_action): Define. - -2019-09-17 Maxim Blinov - - * opcode/riscv.h (riscv_insn_class): New enum. - * opcode/riscv.h (struct riscv_opcode): Change - subset field to insn_class field. - -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-08-30 Claudiu Zissulescu - - * opcode/arc.h (FASTMATH): Move it from insn_class_t to - insn_subclass_t enum. - -2019-08-22 Alan Modra - - * elf/arm.h (ARM_GET_SYM_CMSE_SPCL, ARM_SET_SYM_CMSE_SPCL): Delete. - -2019-08-09 Mihailo Stojanovic - - * elf/mips.h (SHT_GNU_XHASH): New define. - (DT_GNU_XHASH): New define. - -2019-08-08 Yoshinori Sato - - * opcode/h8300.h (EXPAND_UNOP_EXTENDED_B): Add MODEL. - (EXPAND_UNOP_EXTENDED_W): Likewise. - (EXPAND_UNOP_EXTENDED_L): Likewise. - (struct h8_opcode h8_opcodes): Likewise. - (struct h8_opcode h8_opcodes): tas / ldm / stm supported H8S or - later. - -2019-07-24 Claudiu Zissulescu - - * opcode/arc.h (FASTMATH): Add. - (SWITCH): Likewise. - -2019-07-24 Alan Modra - - * elf/internal.h (ELF_SECTION_IN_SEGMENT_1): Exclude non-alloc - sections in GNU_MBIND segments. - -2019-07-23 Omar Majid - - * coff/i386.h (IMAGE_FILE_MACHINE_NATIVE_APPLE_OVERRIDE): Define. - (IMAGE_FILE_MACHINE_NATIVE_FREEBSD_OVERRIDE): Define. - (IMAGE_FILE_MACHINE_NATIVE_LINUX_OVERRIDE): Define. - (IMAGE_FILE_MACHINE_NATIVE_NETBSD_OVERRIDE): Define. - (I386_APPLE_MAGIC): Define. - (I386_FREEBSD_MAGIC): Define. - (I386_LINUX_MAGIC): Define. - (I386_NETBSD_MAGIC): Define. - (I386BADMAG): Extend macro to allow new magic numbers. - * coff/x86_64.h (IMAGE_FILE_MACHINE_NATIVE_APPLE_OVERRIDE): Define. - (IMAGE_FILE_MACHINE_NATIVE_FREEBSD_OVERRIDE): Define. - (IMAGE_FILE_MACHINE_NATIVE_LINUX_OVERRIDE): Define. - (IMAGE_FILE_MACHINE_NATIVE_NETBSD_OVERRIDE): Define. - (AMD64_APPLE_MAGIC): Define. - (AMD64_FREEBSD_MAGIC): Define. - (AMD64_LINUX_MAGIC): Define. - (AMD64_NETBSD_MAGIC): Define. - (AMD64BADMAG): Extend macro to allow new magic numbers. - -2019-07-19 Alan Modra - - * elf/ppc64.h (R_PPC64_TPREL34, R_PPC64_DTPREL34), - (R_PPC64_GOT_TLSGD34, R_PPC64_GOT_TLSLD34), - (R_PPC64_GOT_TPREL34, R_PPC64_GOT_DTPREL34): Define. - (IS_PPC64_TLS_RELOC): Include new tls relocs. - -2019-07-18 Nick Alcock - - * ctf-api.h (ECTF_NOTFUNC): Fix description. - (ctf_func_type_info): New. - (ctf_func_type_args): Likewise. - (ctf_type_aname_raw): Likewise. - -2019-07-16 Jan Beulich - - * opcode/i386.h (POP_SEG386_SHORT): New. - -2019-07-01 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_insn_class): sve_size_013 - renamed to sve_size_13. - -2019-06-19 Nick Alcock - - * ctf.h (ctf_slice_t): Make cts_offset and cts_bits unsigned - short, so following structures are properly aligned. - -2019-06-14 Szabolcs Nagy - - * elf/aarch64.h (R_AARCH64_P32_MOVW_PREL_G0): Define. - (R_AARCH64_P32_MOVW_PREL_G0_NC): Define. - (R_AARCH64_P32_MOVW_PREL_G1): Define. - -2019-06-03 Nick Alcock - - * ctf.h (ctf_enum.cte_value): Fix type to int32_t. - -2019-05-29 Nick Alcock - - * ctf-api.h (ctf_sect_t): Drop cts_type, cts_flags, and cts_offset. - (ctf_id_t): This is now an unsigned type. - (CTF_ERR): Cast it to ctf_id_t. Note that it should only be used - for ctf_id_t-returning functions. - -2019-05-28 Nick Alcock - - * ctf-api.h (ctf_dump_decorate_f): New. - (ctf_dump_state_t): new. - (ctf_dump): New. - -2019-05-28 Nick Alcock - - * ctf-api.h (ctf_label_f): New. - (ctf_label_set): New. - (ctf_label_get): New. - (ctf_label_topmost): New. - (ctf_label_info): New. - (ctf_label_iter): New. - -2019-05-28 Nick Alcock - - * ctf-api.h (ctf_version): New. - -2019-05-28 Nick Alcock - - * ctf-api.h (ctf_func_info): New. - (ctf_func_args): Likewise. - (ctf_lookup_by_symbol): Likewise. - (ctf_lookup_by_symbol): Likewise. - (ctf_lookup_variable): Likewise. - -2019-05-28 Nick Alcock - - * ctf-api.h (ctf_visit_f): New definition. - (ctf_member_f): Likewise. - (ctf_enum_f): Likewise. - (ctf_variable_f): Likewise. - (ctf_type_f): Likewise. - (ctf_type_isparent): Likewise. - (ctf_type_ischild): Likewise. - (ctf_type_resolve): Likewise. - (ctf_type_aname): Likewise. - (ctf_type_lname): Likewise. - (ctf_type_name): Likewise. - (ctf_type_sizee): Likewise. - (ctf_type_align): Likewise. - (ctf_type_kind): Likewise. - (ctf_type_reference): Likewise. - (ctf_type_pointer): Likewise. - (ctf_type_encoding): Likewise. - (ctf_type_visit): Likewise. - (ctf_type_cmp): Likewise. - (ctf_type_compat): Likewise. - (ctf_member_info): Likewise. - (ctf_array_info): Likewise. - (ctf_enum_name): Likewise. - (ctf_enum_value): Likewise. - (ctf_member_iter): Likewise. - (ctf_enum_iter): Likewise. - (ctf_type_iter): Likewise. - (ctf_variable_iter): Likewise. - -2019-05-28 Nick Alcock - - * ctf-api.h (struct bfd): New forward. - (ctf_fdopen): New. - (ctf_bfdopen): Likewise. - (ctf_open): Likewise. - (ctf_arc_open): Likewise. - -2019-05-28 Nick Alcock - - * ctf.h (CTFA_MAGIC): New. - (struct ctf_archive): New. - (struct ctf_archive_modent): Likewise. - * ctf-api.h (ctf_archive_member_f): New. - (ctf_archive_raw_member_f): Likewise. - (ctf_arc_write): Likewise. - (ctf_arc_close): Likewise. - (ctf_arc_open_by_name): Likewise. - (ctf_archive_iter): Likewise. - (ctf_archive_raw_iter): Likewise. - (ctf_get_arc): Likewise. - -2019-05-28 Nick Alcock - - * ctf-api.h (ctf_file_close): New declaration. - (ctf_getdatasect): Likewise. - (ctf_parent_file): Likewise. - (ctf_parent_name): Likewise. - (ctf_parent_name_set): Likewise. - (ctf_import): Likewise. - (ctf_setmodel): Likewise. - (ctf_getmodel): Likewise. - (ctf_setspecific): Likewise. - (ctf_getspecific): Likewise. - -2019-05-28 Nick Alcock - - * ctf-api.h (zlib.h): New include. - (ctf_sect_t): New. - (ctf_sect_names_t): Likewise. - (ctf_encoding_t): Likewise. - (ctf_membinfo_t): Likewise. - (ctf_arinfo_t): Likewise. - (ctf_funcinfo_t): Likewise. - (ctf_lblinfo_t): Likewise. - (ctf_snapshot_id_t): Likewise. - (CTF_FUNC_VARARG): Likewise. - (ctf_simple_open): Likewise. - (ctf_bufopen): Likewise. - (ctf_create): Likewise. - (ctf_add_array): Likewise. - (ctf_add_const): Likewise. - (ctf_add_enum_encoded): Likewise. - (ctf_add_enum): Likewise. - (ctf_add_float): Likewise. - (ctf_add_forward): Likewise. - (ctf_add_function): Likewise. - (ctf_add_integer): Likewise. - (ctf_add_slice): Likewise. - (ctf_add_pointer): Likewise. - (ctf_add_type): Likewise. - (ctf_add_typedef): Likewise. - (ctf_add_restrict): Likewise. - (ctf_add_struct): Likewise. - (ctf_add_union): Likewise. - (ctf_add_struct_sized): Likewise. - (ctf_add_union_sized): Likewise. - (ctf_add_volatile): Likewise. - (ctf_add_enumerator): Likewise. - (ctf_add_member): Likewise. - (ctf_add_member_offset): Likewise. - (ctf_add_member_encoded): Likewise. - (ctf_add_variable): Likewise. - (ctf_set_array): Likewise. - (ctf_update): Likewise. - (ctf_snapshot): Likewise. - (ctf_rollback): Likewise. - (ctf_discard): Likewise. - (ctf_write): Likewise. - (ctf_gzwrite): Likewise. - (ctf_compress_write): Likewise. - -2019-05-28 Nick Alcock - - * ctf-api.h (ctf_errno): New declaration. - (ctf_errmsg): Likewise. - -2019-05-28 Nick Alcock - - * ctf-api.h (ctf_setdebug): New. - (ctf_getdebug): Likewise. - -2019-05-28 Nick Alcock - - * ctf-api.h: New file. - -2019-05-28 Nick Alcock - - * ctf.h: New file. - -2019-05-24 Szabolcs Nagy - - * elf/aarch64.h (DT_AARCH64_VARIANT_PCS): Define. - (STO_AARCH64_VARIANT_PCS): Define. - -2019-05-24 Alan Modra - - * elf/ppc64.h (R_PPC64_PLTSEQ_NOTOC, R_PPC64_PLTCALL_NOTOC), - (R_PPC64_PCREL_OPT, R_PPC64_D34, R_PPC64_D34_LO, R_PPC64_D34_HI30), - (R_PPC64_D34_HA30, R_PPC64_PCREL34, R_PPC64_GOT_PCREL34), - (R_PPC64_PLT_PCREL34, R_PPC64_PLT_PCREL34_NOTOC), - (R_PPC64_ADDR16_HIGHER34, R_PPC64_ADDR16_HIGHERA34), - (R_PPC64_ADDR16_HIGHEST34, R_PPC64_ADDR16_HIGHESTA34), - (R_PPC64_REL16_HIGHER34, R_PPC64_REL16_HIGHERA34), - (R_PPC64_REL16_HIGHEST34, R_PPC64_REL16_HIGHESTA34), - (R_PPC64_D28, R_PPC64_PCREL28): Define. - -2019-05-24 Peter Bergner - Alan Modra - - * dis-asm.h (WIDE_OUTPUT): Define. - * opcode/ppc.h (prefix_opcodes, prefix_num_opcodes): Declare. - (PPC_OPCODE_POWERXX, PPC_GET_PREFIX, PPC_GET_SUFFIX), - (PPC_PREFIX_P, PPC_PREFIX_SEG): Define. - -2019-05-23 Jose E. Marchesi - - * elf/bpf.h: New file. - -2019-05-16 Andre Vieira - - * elf/arm.h (Tag_MVE_arch): Define new enum value. - * opcode/arm.h (FPU_MVE, FPU_MVE_FP): New MACROs for new features. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_opnd): New SVE_SHLIMM_UNPRED_22 - operand. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_tsz_bhs - iclass. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_opnd): New SVE_Zm4_11_INDEX operand. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_insn_class): Add sve_shift_tsz_bhsd - iclass. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_opnd): New SVE_SHRIMM_UNPRED_22 - operand. - (enum aarch64_insn_class): Add sve_shift_tsz_hsd iclass. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_013 iclass. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_bh iclass. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_sd2 iclass. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_opnd): New SVE_ADDR_ZX operand. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_opnd): New SVE_Zm3_11_INDEX operand. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_hsd2 iclass. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (enum aarch64_opnd): New SVE_IMM_ROT3 operand. - -2019-05-09 Matthew Malcomson - - * opcode/aarch64.h (AARCH64_FEATURE_SVE2 - AARCH64_FEATURE_SVE2_AES, AARCH64_FEATURE_SVE2_BITPERM, - AARCH64_FEATURE_SVE2_SM4, AARCH64_FEATURE_SVE2_SHA3): New - feature macros. - -2019-05-06 Andrew Bennett - Faraz Shahbazker - - * opcode/mips.h (ASE_EVA_R6): New macro. - (M_LLWPE_AB, M_SCWPE_AB): New enum values. - -2019-05-01 Sudakshina Das - - * opcode/aarch64.h (AARCH64_FEATURE_TME): New. - (enum aarch64_opnd): Add AARCH64_OPND_TME_UIMM16. - -2019-04-26 Andrew Bennett - Faraz Shahbazker - - * opcode/mips.h (M_LLWP_AB, M_LLDP_AB): New enum values. - (M_SCWP_AB, M_SCDP_AB): Likewise. - -2019-04-25 Maciej W. Rozycki - - * opcode/mips.h: Update comment for MIPS32 CODE20 operand. - -2019-04-15 Sudakshina Das - - * elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF12. - -2019-04-15 Sudakshina Das - - * elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF18. - -2019-04-15 Sudakshina Das - - * elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF16. - -2019-04-15 Thomas Preud'homme - - * elf/arm.h (TAG_CPU_ARCH_V8_1M_MAIN): new macro. - (MAX_TAG_CPU_ARCH): Set value to above macro. - * opcode/arm.h (ARM_EXT2_V8_1M_MAIN): New macro. - (ARM_AEXT_V8_1M_MAIN): Likewise. - (ARM_AEXT2_V8_1M_MAIN): Likewise. - (ARM_ARCH_V8_1M_MAIN): Likewise. - -2019-04-11 Sudakshina Das - - * opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rt_SP. - -2019-04-08 H.J. Lu - - * elf/common.h (GNU_PROPERTY_X86_ISA_1_AVX512_BF16): New. - -2019-04-07 Alan Modra - - Merge from gcc. - 2019-04-03 Vineet Gupta - PR89877 - * longlong.h [__arc__] (add_ssaaaa): Add cc clobber. - (sub_ddmmss): Likewise. - -2019-04-06 H.J. Lu - - * bfdlink.h (bfd_link_info): Remove x86-specific linker options. - -2019-04-01 Andre Vieira - - * opcode/arm.h (FPU_NEON_ARMV8_1): New. - (FPU_ARCH_NEON_VFP_ARMV8_1): Use FPU_NEON_ARMV8_1. - (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1): Likewise. - (FPU_ARCH_DOTPROD_NEON_VFP_ARMV8): Likewise. - (FPU_ARCH_NEON_VFP_ARMV8_2_FP16): New. - (FPU_ARCH_NEON_VFP_ARMV8_2_FP16FML): New. - (FPU_ARCH_NEON_VFP_ARMV8_4_FP16FML): New. - (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_4): New. - -2019-03-28 Alan Modra - - PR 24390 - * opcode/ppc.h (PPC_OPERAND_CR_REG): Comment. - -2019-03-25 Tamar Christina - - * dis-asm.h (struct disassemble_info): Add stop_offset. - -2019-03-13 Sudakshina Das - - * elf/aarch64.h (DT_AARCH64_PAC_PLT): New. - -2019-03-13 Sudakshina Das - Szabolcs Nagy - - * elf/aarch64.h (DT_AARCH64_BTI_PLT): New. - -2019-03-13 Sudakshina Das - - * elf/common.h (GNU_PROPERTY_AARCH64_FEATURE_1_AND): New. - (GNU_PROPERTY_AARCH64_FEATURE_1_BTI): New. - (GNU_PROPERTY_AARCH64_FEATURE_1_PAC): New. - -2019-02-20 Alan Hayward - - * elf/common.h (NT_ARM_PAC_MASK): Add define. - -2019-02-15 Saagar Jha - - * mach-o/loader.h: Use new OS names in comments. - -2019-02-11 Philippe Waroquiers - - * splay-tree.h (splay_tree_delete_key_fn): Update comment. - (splay_tree_delete_value_fn): Likewise. - -2019-01-31 Andreas Krebbel - - * opcode/s390.h (enum s390_opcode_cpu_val): Add - S390_OPCODE_ARCH13. - -2019-01-25 Sudakshina Das - Ramana Radhakrishnan - - * opcode/aarch64.h (enum aarch64_opnd): Remove - AARCH64_OPND_ADDR_SIMPLE_2. - (enum aarch64_insn_class): Remove ldstgv_indexed. - -2019-01-22 Tom Tromey - - * coff/ecoff.h: Include coff/sym.h. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-16 Kito Cheng - - * elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define. - (Tag_RISCV_arch): Likewise. - (Tag_RISCV_priv_spec): Likewise. - (Tag_RISCV_priv_spec_minor): Likewise. - (Tag_RISCV_priv_spec_revision): Likewise. - (Tag_RISCV_unaligned_access): Likewise. - (Tag_RISCV_stack_align): Likewise. - -2019-01-14 Pavel I. Kryukov - - * dis-asm.h: include - -2019-01-10 Nick Clifton - - * Merge from GCC: - 2018-12-22 Jason Merrill - - * demangle.h: Remove support for ancient GNU (pre-3.0), Lucid, - ARM, HP, and EDG demangling styles. - -2019-01-09 Sandra Loosemore - - Merge from GCC: - PR other/16615 - - * libiberty.h: Mechanically replace "can not" with "cannot". - * plugin-api.h: Likewise. - -2018-12-25 Yoshinori Sato - - * elf/rx.h (EF_RX_CPU_MASK): Update new bits. - (E_FLAG_RX_V3): New RXv3 type. - * opcode/rx.h (RX_Size): Add double size. - (RX_Operand_Type): Add double FPU registers. - (RX_Opcode_ID): Add new instuctions. - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/include/ChangeLog-2019 b/include/ChangeLog-2019 new file mode 100644 index 00000000000..ce3e0496068 --- /dev/null +++ b/include/ChangeLog-2019 @@ -0,0 +1,773 @@ +2019-12-17 Alan Modra + + * coff/tic80.h: Delete file. + * opcode/tic80.h: Delete file. + +2019-12-16 Alan Modra + + * opcode/crx.h (inst ): Make unsigned int. + +2019-12-16 Alan Modra + + * opcode/nds32.h (N32_BIT): Define using 1u. + (__SEXT): Use __MASK and N32_BIT. + (N32_IMMS): Remove duplicate mask. + +2019-12-12 Luis Machado + + * diagnostics.h (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION). Remove + definitions. + +2019-12-11 Alan Modra + + * opcode/mmix.h (PUSHGO_INSN_BYTE): Make unsigned. + (GO_INSN_BYTE, SETL_INSN_BYTE, INCML_INSN_BYTE, INCMH_INSN_BYTE), + (INCH_INSN_BYTE, SWYM_INSN_BYTE, JMP_INSN_BYTE): Likewise. + +2019-12-11 Alan Modra + + * dis-asm.h (INSN_HAS_RELOC, DISASSEMBLE_DATA), + (USER_SPECIFIED_MACHINE_TYPE, WIDE_OUTPUT): Make unsigned. + * opcode/tic80.h (TIC80_OPERAND_*): Likewise. + +2019-12-10 Alan Modra + + PR 24960 + * dis-asm.h (disassemble_free_target): Declare. + +2019-12-10 Alan Modra + + * dis-asm.h (struct disassemble_info): Delete insn_sets. + (INIT_DISASSEMBLE_INFO_NO_ARCH): Don't define. + +2019-12-05 Jan Beulich + + * opcode/aarch64.h (AARCH64_FEATURE_CRYPTO): Expand to the + combination of AES and SHA2. + +2019-11-25 Alan Modra + + * coff/ti.h (GET_SCNHDR_SIZE, PUT_SCNHDR_SIZE, GET_SCN_SCNLEN), + (PUT_SCN_SCNLEN): Adjust bfd_octets_per_byte calls. + +2019-11-22 Mihail Ionescu + + * opcode/arm.h (ARM_EXT2_CRC): New extension feature + to replace CRC_EXT_ARMV8. + (CRC_EXT_ARMV8): Remove and mark bit as unused. + (ARM_ARCH_V8A_CRC, ARM_ARCH_V8_1A, ARM_ARCH_V8_2A, + ARM_ARCH_V8_3A, ARM_ARCH_V8_4A, ARM_ARCH_V8_5A, + ARM_ARCH_V8_6A): Redefine using ARM_EXT2_CRC instead of + CRC_EXT_ARMV8. + +2019-11-18 Andrew Burgess + + * dwarf2.h (DW_CIE_VERSION): Delete. + +2019-11-07 Mihail Ionescu + + * opcode/arm.h (ARM_EXT2_I8MM): New feature macro. + +2019-11-07 Mihail Ionescu + + * opcode/aarch64.h (AARCH64_FEATURE_I8MM): New. + (AARCH64_FEATURE_F32MM): New. + (AARCH64_FEATURE_F64MM): New. + (AARCH64_OPND_SVE_ADDR_RI_S4x32): New. + (enum aarch64_insn_class): Add new instruction class "aarch64_misc" for + instructions that do not require special handling. + +2019-11-07 Mihail Ionescu + Matthew Malcomson + + * opcode/arm.h (ARM_EXT2_V8_6A, ARM_AEXT2_V8_6A, + ARM_ARCH_V8_6A): New. + * opcode/arm.h (ARM_EXT2_BF16): New feature macro. + (ARM_AEXT2_V8_6A): Include above macro in definition. + +2019-11-07 Mihail Ionescu + Matthew Malcomson + + * opcode/aarch64.h (AARCH64_FEATURE_BFLOAT16): New feature macros. + (AARCH64_ARCH_V8_6): Include BFloat16 feature macros. + (enum aarch64_opnd_qualifier): Introduce new operand qualifier + AARCH64_OPND_QLF_S_2H. + (enum aarch64_insn_class): Introduce new class "bfloat16". + (BFLOAT16_SVE_INSNC): New feature set for bfloat16 + instructions to support the movprfx constraint. + +2019-11-07 Mihail Ionescu + Matthew Malcomson + + * opcode/aarch64.h (AARCH64_FEATURE_V8_6): New. + (AARCH64_ARCH_V8_6): New. + +2019-11-07 Alan Modra + + * elf/cr16c.h: Delete. + +2019-10-29 Andrew Eikum + + * coff/internal.h (struct internal_extra_pe_filehdr): Use ints + instead of longs to hold dos_message. + +2019-10-25 Alan Modra + + PR 4499 + * elf/internal.h (struct elf_segment_map): Delete header_size. + Add no_sort_lma and idx. + +2019-10-16 Alan Modra + + PR 13616 + * bfdlink.h (struct bfd_link_info ): New field. + +2019-10-07 Jozef Lawrynowicz + + * elf/msp430.h: Add enums for MSPABI and GNU object attribute tag + names and values. + +2019-09-23 Nick Alcock + + * ctf-api.h (ctf_cuname_set): Can now fail, returning int. + (ctf_parent_name_set): Likewise. + +2019-08-05 Nick Alcock + + * ctf-api.h (ECTF_NONREPRESENTABLE): New. + +2019-09-23 Nick Alcock + + * ctf-api.h: Note the instability of the ctf_link interfaces. + +2019-07-13 Nick Alcock + + * bfdlink.h (elf_strtab_hash): New forward. + (elf_sym_strtab): Likewise. + (struct bfd_link_callbacks ): New. + (struct bfd_link_callbacks ): Likewise. + +2019-07-13 Nick Alcock + + * ctf-api.h (includes): No longer include . + +2019-07-30 Nick Alcock + + * ctf-api.h (ctf_link_add_cu_mapping): New. + (ctf_link_memb_name_changer_f): New. + (ctf_link_set_memb_name_changer): New. + +2019-07-13 Nick Alcock + + * ctf-api.h (ECTF_INTERNAL): New. + +2019-07-13 Nick Alcock + + * ctf-api.h (struct ctf_link_sym): New, a symbol in flight to the + libctf linking machinery. + (CTF_LINK_SHARE_UNCONFLICTED): New. + (CTF_LINK_SHARE_DUPLICATED): New. + (ECTF_LINKADDEDLATE): New, replacing ECTF_UNUSED. + (ECTF_NOTYET): New, a 'not yet implemented' message. + (ctf_link_add_ctf): New, add an input file's CTF to the link. + (ctf_link): New, merge the type and string sections. + (ctf_link_strtab_string_f): New, callback for feeding strtab info. + (ctf_link_iter_symbol_f): New, callback for feeding symtab info. + (ctf_link_add_strtab): New, tell the CTF linker about the ELF + strtab's strings. + (ctf_link_shuffle_syms): New, ask the CTF linker to shuffle its + symbols into symtab order. + (ctf_link_write): New, ask the CTF linker to write the CTF out. + +2019-07-13 Nick Alcock + + * ctf-api.h (ctf_arc_write_fd): New. + (ctf_write_mem): Likewise. + (ctf_gzwrite): Spacing fix. + +2019-07-13 Nick Alcock + + * ctf.h (CTF_SET_STID): New. + +2019-07-13 Nick Alcock + + * ctf-api.h (ctf_type_all_f): New. + (ctf_type_iter_all): New. + +2019-07-11 Nick Alcock + + * ctf.h: Add object index and function index sections. Describe + them. Improve the description of the variable section and clarify + the constraints on backward-pointing type nodes. + (ctf_header): Add cth_objtidxoff, cth_funcidxoff. + +2019-07-06 Nick Alcock + + * ctf-api.h (ctf_cuname): New function. + (ctf_cuname_set): Likewise. + * ctf.h: Improve comment around upgrading, no longer + implying that v2 is the target of upgrades (it is v3 now). + (ctf_header_v2_t): New, old-format header for backward + compatibility. + (ctf_header_t): Add cth_cuname: this is the first of several + header changes in format v3. + +2019-09-23 Alan Modra + + * bfdlink.h (struct bfd_section_already_linked): Forward declare. + (bfd_section_already_linked_table_init), + (bfd_section_already_linked_table_free), + (_bfd_handle_already_linked, _bfd_nearby_section), + (_bfd_fix_excluded_sec_syms): Declare. + +2019-09-23 Alan Modra + + * bfdlink.h (enum notice_asneeded_action): Define. + +2019-09-17 Maxim Blinov + + * opcode/riscv.h (riscv_insn_class): New enum. + * opcode/riscv.h (struct riscv_opcode): Change + subset field to insn_class field. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-08-30 Claudiu Zissulescu + + * opcode/arc.h (FASTMATH): Move it from insn_class_t to + insn_subclass_t enum. + +2019-08-22 Alan Modra + + * elf/arm.h (ARM_GET_SYM_CMSE_SPCL, ARM_SET_SYM_CMSE_SPCL): Delete. + +2019-08-09 Mihailo Stojanovic + + * elf/mips.h (SHT_GNU_XHASH): New define. + (DT_GNU_XHASH): New define. + +2019-08-08 Yoshinori Sato + + * opcode/h8300.h (EXPAND_UNOP_EXTENDED_B): Add MODEL. + (EXPAND_UNOP_EXTENDED_W): Likewise. + (EXPAND_UNOP_EXTENDED_L): Likewise. + (struct h8_opcode h8_opcodes): Likewise. + (struct h8_opcode h8_opcodes): tas / ldm / stm supported H8S or + later. + +2019-07-24 Claudiu Zissulescu + + * opcode/arc.h (FASTMATH): Add. + (SWITCH): Likewise. + +2019-07-24 Alan Modra + + * elf/internal.h (ELF_SECTION_IN_SEGMENT_1): Exclude non-alloc + sections in GNU_MBIND segments. + +2019-07-23 Omar Majid + + * coff/i386.h (IMAGE_FILE_MACHINE_NATIVE_APPLE_OVERRIDE): Define. + (IMAGE_FILE_MACHINE_NATIVE_FREEBSD_OVERRIDE): Define. + (IMAGE_FILE_MACHINE_NATIVE_LINUX_OVERRIDE): Define. + (IMAGE_FILE_MACHINE_NATIVE_NETBSD_OVERRIDE): Define. + (I386_APPLE_MAGIC): Define. + (I386_FREEBSD_MAGIC): Define. + (I386_LINUX_MAGIC): Define. + (I386_NETBSD_MAGIC): Define. + (I386BADMAG): Extend macro to allow new magic numbers. + * coff/x86_64.h (IMAGE_FILE_MACHINE_NATIVE_APPLE_OVERRIDE): Define. + (IMAGE_FILE_MACHINE_NATIVE_FREEBSD_OVERRIDE): Define. + (IMAGE_FILE_MACHINE_NATIVE_LINUX_OVERRIDE): Define. + (IMAGE_FILE_MACHINE_NATIVE_NETBSD_OVERRIDE): Define. + (AMD64_APPLE_MAGIC): Define. + (AMD64_FREEBSD_MAGIC): Define. + (AMD64_LINUX_MAGIC): Define. + (AMD64_NETBSD_MAGIC): Define. + (AMD64BADMAG): Extend macro to allow new magic numbers. + +2019-07-19 Alan Modra + + * elf/ppc64.h (R_PPC64_TPREL34, R_PPC64_DTPREL34), + (R_PPC64_GOT_TLSGD34, R_PPC64_GOT_TLSLD34), + (R_PPC64_GOT_TPREL34, R_PPC64_GOT_DTPREL34): Define. + (IS_PPC64_TLS_RELOC): Include new tls relocs. + +2019-07-18 Nick Alcock + + * ctf-api.h (ECTF_NOTFUNC): Fix description. + (ctf_func_type_info): New. + (ctf_func_type_args): Likewise. + (ctf_type_aname_raw): Likewise. + +2019-07-16 Jan Beulich + + * opcode/i386.h (POP_SEG386_SHORT): New. + +2019-07-01 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_insn_class): sve_size_013 + renamed to sve_size_13. + +2019-06-19 Nick Alcock + + * ctf.h (ctf_slice_t): Make cts_offset and cts_bits unsigned + short, so following structures are properly aligned. + +2019-06-14 Szabolcs Nagy + + * elf/aarch64.h (R_AARCH64_P32_MOVW_PREL_G0): Define. + (R_AARCH64_P32_MOVW_PREL_G0_NC): Define. + (R_AARCH64_P32_MOVW_PREL_G1): Define. + +2019-06-03 Nick Alcock + + * ctf.h (ctf_enum.cte_value): Fix type to int32_t. + +2019-05-29 Nick Alcock + + * ctf-api.h (ctf_sect_t): Drop cts_type, cts_flags, and cts_offset. + (ctf_id_t): This is now an unsigned type. + (CTF_ERR): Cast it to ctf_id_t. Note that it should only be used + for ctf_id_t-returning functions. + +2019-05-28 Nick Alcock + + * ctf-api.h (ctf_dump_decorate_f): New. + (ctf_dump_state_t): new. + (ctf_dump): New. + +2019-05-28 Nick Alcock + + * ctf-api.h (ctf_label_f): New. + (ctf_label_set): New. + (ctf_label_get): New. + (ctf_label_topmost): New. + (ctf_label_info): New. + (ctf_label_iter): New. + +2019-05-28 Nick Alcock + + * ctf-api.h (ctf_version): New. + +2019-05-28 Nick Alcock + + * ctf-api.h (ctf_func_info): New. + (ctf_func_args): Likewise. + (ctf_lookup_by_symbol): Likewise. + (ctf_lookup_by_symbol): Likewise. + (ctf_lookup_variable): Likewise. + +2019-05-28 Nick Alcock + + * ctf-api.h (ctf_visit_f): New definition. + (ctf_member_f): Likewise. + (ctf_enum_f): Likewise. + (ctf_variable_f): Likewise. + (ctf_type_f): Likewise. + (ctf_type_isparent): Likewise. + (ctf_type_ischild): Likewise. + (ctf_type_resolve): Likewise. + (ctf_type_aname): Likewise. + (ctf_type_lname): Likewise. + (ctf_type_name): Likewise. + (ctf_type_sizee): Likewise. + (ctf_type_align): Likewise. + (ctf_type_kind): Likewise. + (ctf_type_reference): Likewise. + (ctf_type_pointer): Likewise. + (ctf_type_encoding): Likewise. + (ctf_type_visit): Likewise. + (ctf_type_cmp): Likewise. + (ctf_type_compat): Likewise. + (ctf_member_info): Likewise. + (ctf_array_info): Likewise. + (ctf_enum_name): Likewise. + (ctf_enum_value): Likewise. + (ctf_member_iter): Likewise. + (ctf_enum_iter): Likewise. + (ctf_type_iter): Likewise. + (ctf_variable_iter): Likewise. + +2019-05-28 Nick Alcock + + * ctf-api.h (struct bfd): New forward. + (ctf_fdopen): New. + (ctf_bfdopen): Likewise. + (ctf_open): Likewise. + (ctf_arc_open): Likewise. + +2019-05-28 Nick Alcock + + * ctf.h (CTFA_MAGIC): New. + (struct ctf_archive): New. + (struct ctf_archive_modent): Likewise. + * ctf-api.h (ctf_archive_member_f): New. + (ctf_archive_raw_member_f): Likewise. + (ctf_arc_write): Likewise. + (ctf_arc_close): Likewise. + (ctf_arc_open_by_name): Likewise. + (ctf_archive_iter): Likewise. + (ctf_archive_raw_iter): Likewise. + (ctf_get_arc): Likewise. + +2019-05-28 Nick Alcock + + * ctf-api.h (ctf_file_close): New declaration. + (ctf_getdatasect): Likewise. + (ctf_parent_file): Likewise. + (ctf_parent_name): Likewise. + (ctf_parent_name_set): Likewise. + (ctf_import): Likewise. + (ctf_setmodel): Likewise. + (ctf_getmodel): Likewise. + (ctf_setspecific): Likewise. + (ctf_getspecific): Likewise. + +2019-05-28 Nick Alcock + + * ctf-api.h (zlib.h): New include. + (ctf_sect_t): New. + (ctf_sect_names_t): Likewise. + (ctf_encoding_t): Likewise. + (ctf_membinfo_t): Likewise. + (ctf_arinfo_t): Likewise. + (ctf_funcinfo_t): Likewise. + (ctf_lblinfo_t): Likewise. + (ctf_snapshot_id_t): Likewise. + (CTF_FUNC_VARARG): Likewise. + (ctf_simple_open): Likewise. + (ctf_bufopen): Likewise. + (ctf_create): Likewise. + (ctf_add_array): Likewise. + (ctf_add_const): Likewise. + (ctf_add_enum_encoded): Likewise. + (ctf_add_enum): Likewise. + (ctf_add_float): Likewise. + (ctf_add_forward): Likewise. + (ctf_add_function): Likewise. + (ctf_add_integer): Likewise. + (ctf_add_slice): Likewise. + (ctf_add_pointer): Likewise. + (ctf_add_type): Likewise. + (ctf_add_typedef): Likewise. + (ctf_add_restrict): Likewise. + (ctf_add_struct): Likewise. + (ctf_add_union): Likewise. + (ctf_add_struct_sized): Likewise. + (ctf_add_union_sized): Likewise. + (ctf_add_volatile): Likewise. + (ctf_add_enumerator): Likewise. + (ctf_add_member): Likewise. + (ctf_add_member_offset): Likewise. + (ctf_add_member_encoded): Likewise. + (ctf_add_variable): Likewise. + (ctf_set_array): Likewise. + (ctf_update): Likewise. + (ctf_snapshot): Likewise. + (ctf_rollback): Likewise. + (ctf_discard): Likewise. + (ctf_write): Likewise. + (ctf_gzwrite): Likewise. + (ctf_compress_write): Likewise. + +2019-05-28 Nick Alcock + + * ctf-api.h (ctf_errno): New declaration. + (ctf_errmsg): Likewise. + +2019-05-28 Nick Alcock + + * ctf-api.h (ctf_setdebug): New. + (ctf_getdebug): Likewise. + +2019-05-28 Nick Alcock + + * ctf-api.h: New file. + +2019-05-28 Nick Alcock + + * ctf.h: New file. + +2019-05-24 Szabolcs Nagy + + * elf/aarch64.h (DT_AARCH64_VARIANT_PCS): Define. + (STO_AARCH64_VARIANT_PCS): Define. + +2019-05-24 Alan Modra + + * elf/ppc64.h (R_PPC64_PLTSEQ_NOTOC, R_PPC64_PLTCALL_NOTOC), + (R_PPC64_PCREL_OPT, R_PPC64_D34, R_PPC64_D34_LO, R_PPC64_D34_HI30), + (R_PPC64_D34_HA30, R_PPC64_PCREL34, R_PPC64_GOT_PCREL34), + (R_PPC64_PLT_PCREL34, R_PPC64_PLT_PCREL34_NOTOC), + (R_PPC64_ADDR16_HIGHER34, R_PPC64_ADDR16_HIGHERA34), + (R_PPC64_ADDR16_HIGHEST34, R_PPC64_ADDR16_HIGHESTA34), + (R_PPC64_REL16_HIGHER34, R_PPC64_REL16_HIGHERA34), + (R_PPC64_REL16_HIGHEST34, R_PPC64_REL16_HIGHESTA34), + (R_PPC64_D28, R_PPC64_PCREL28): Define. + +2019-05-24 Peter Bergner + Alan Modra + + * dis-asm.h (WIDE_OUTPUT): Define. + * opcode/ppc.h (prefix_opcodes, prefix_num_opcodes): Declare. + (PPC_OPCODE_POWERXX, PPC_GET_PREFIX, PPC_GET_SUFFIX), + (PPC_PREFIX_P, PPC_PREFIX_SEG): Define. + +2019-05-23 Jose E. Marchesi + + * elf/bpf.h: New file. + +2019-05-16 Andre Vieira + + * elf/arm.h (Tag_MVE_arch): Define new enum value. + * opcode/arm.h (FPU_MVE, FPU_MVE_FP): New MACROs for new features. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_opnd): New SVE_SHLIMM_UNPRED_22 + operand. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_tsz_bhs + iclass. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_opnd): New SVE_Zm4_11_INDEX operand. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_insn_class): Add sve_shift_tsz_bhsd + iclass. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_opnd): New SVE_SHRIMM_UNPRED_22 + operand. + (enum aarch64_insn_class): Add sve_shift_tsz_hsd iclass. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_013 iclass. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_bh iclass. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_sd2 iclass. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_opnd): New SVE_ADDR_ZX operand. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_opnd): New SVE_Zm3_11_INDEX operand. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_hsd2 iclass. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (enum aarch64_opnd): New SVE_IMM_ROT3 operand. + +2019-05-09 Matthew Malcomson + + * opcode/aarch64.h (AARCH64_FEATURE_SVE2 + AARCH64_FEATURE_SVE2_AES, AARCH64_FEATURE_SVE2_BITPERM, + AARCH64_FEATURE_SVE2_SM4, AARCH64_FEATURE_SVE2_SHA3): New + feature macros. + +2019-05-06 Andrew Bennett + Faraz Shahbazker + + * opcode/mips.h (ASE_EVA_R6): New macro. + (M_LLWPE_AB, M_SCWPE_AB): New enum values. + +2019-05-01 Sudakshina Das + + * opcode/aarch64.h (AARCH64_FEATURE_TME): New. + (enum aarch64_opnd): Add AARCH64_OPND_TME_UIMM16. + +2019-04-26 Andrew Bennett + Faraz Shahbazker + + * opcode/mips.h (M_LLWP_AB, M_LLDP_AB): New enum values. + (M_SCWP_AB, M_SCDP_AB): Likewise. + +2019-04-25 Maciej W. Rozycki + + * opcode/mips.h: Update comment for MIPS32 CODE20 operand. + +2019-04-15 Sudakshina Das + + * elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF12. + +2019-04-15 Sudakshina Das + + * elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF18. + +2019-04-15 Sudakshina Das + + * elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF16. + +2019-04-15 Thomas Preud'homme + + * elf/arm.h (TAG_CPU_ARCH_V8_1M_MAIN): new macro. + (MAX_TAG_CPU_ARCH): Set value to above macro. + * opcode/arm.h (ARM_EXT2_V8_1M_MAIN): New macro. + (ARM_AEXT_V8_1M_MAIN): Likewise. + (ARM_AEXT2_V8_1M_MAIN): Likewise. + (ARM_ARCH_V8_1M_MAIN): Likewise. + +2019-04-11 Sudakshina Das + + * opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rt_SP. + +2019-04-08 H.J. Lu + + * elf/common.h (GNU_PROPERTY_X86_ISA_1_AVX512_BF16): New. + +2019-04-07 Alan Modra + + Merge from gcc. + 2019-04-03 Vineet Gupta + PR89877 + * longlong.h [__arc__] (add_ssaaaa): Add cc clobber. + (sub_ddmmss): Likewise. + +2019-04-06 H.J. Lu + + * bfdlink.h (bfd_link_info): Remove x86-specific linker options. + +2019-04-01 Andre Vieira + + * opcode/arm.h (FPU_NEON_ARMV8_1): New. + (FPU_ARCH_NEON_VFP_ARMV8_1): Use FPU_NEON_ARMV8_1. + (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1): Likewise. + (FPU_ARCH_DOTPROD_NEON_VFP_ARMV8): Likewise. + (FPU_ARCH_NEON_VFP_ARMV8_2_FP16): New. + (FPU_ARCH_NEON_VFP_ARMV8_2_FP16FML): New. + (FPU_ARCH_NEON_VFP_ARMV8_4_FP16FML): New. + (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_4): New. + +2019-03-28 Alan Modra + + PR 24390 + * opcode/ppc.h (PPC_OPERAND_CR_REG): Comment. + +2019-03-25 Tamar Christina + + * dis-asm.h (struct disassemble_info): Add stop_offset. + +2019-03-13 Sudakshina Das + + * elf/aarch64.h (DT_AARCH64_PAC_PLT): New. + +2019-03-13 Sudakshina Das + Szabolcs Nagy + + * elf/aarch64.h (DT_AARCH64_BTI_PLT): New. + +2019-03-13 Sudakshina Das + + * elf/common.h (GNU_PROPERTY_AARCH64_FEATURE_1_AND): New. + (GNU_PROPERTY_AARCH64_FEATURE_1_BTI): New. + (GNU_PROPERTY_AARCH64_FEATURE_1_PAC): New. + +2019-02-20 Alan Hayward + + * elf/common.h (NT_ARM_PAC_MASK): Add define. + +2019-02-15 Saagar Jha + + * mach-o/loader.h: Use new OS names in comments. + +2019-02-11 Philippe Waroquiers + + * splay-tree.h (splay_tree_delete_key_fn): Update comment. + (splay_tree_delete_value_fn): Likewise. + +2019-01-31 Andreas Krebbel + + * opcode/s390.h (enum s390_opcode_cpu_val): Add + S390_OPCODE_ARCH13. + +2019-01-25 Sudakshina Das + Ramana Radhakrishnan + + * opcode/aarch64.h (enum aarch64_opnd): Remove + AARCH64_OPND_ADDR_SIMPLE_2. + (enum aarch64_insn_class): Remove ldstgv_indexed. + +2019-01-22 Tom Tromey + + * coff/ecoff.h: Include coff/sym.h. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-16 Kito Cheng + + * elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define. + (Tag_RISCV_arch): Likewise. + (Tag_RISCV_priv_spec): Likewise. + (Tag_RISCV_priv_spec_minor): Likewise. + (Tag_RISCV_priv_spec_revision): Likewise. + (Tag_RISCV_unaligned_access): Likewise. + (Tag_RISCV_stack_align): Likewise. + +2019-01-14 Pavel I. Kryukov + + * dis-asm.h: include + +2019-01-10 Nick Clifton + + * Merge from GCC: + 2018-12-22 Jason Merrill + + * demangle.h: Remove support for ancient GNU (pre-3.0), Lucid, + ARM, HP, and EDG demangling styles. + +2019-01-09 Sandra Loosemore + + Merge from GCC: + PR other/16615 + + * libiberty.h: Mechanically replace "can not" with "cannot". + * plugin-api.h: Likewise. + +2018-12-25 Yoshinori Sato + + * elf/rx.h (EF_RX_CPU_MASK): Update new bits. + (E_FLAG_RX_V3): New RXv3 type. + * opcode/rx.h (RX_Size): Add double size. + (RX_Operand_Type): Add double FPU registers. + (RX_Opcode_ID): Add new instuctions. + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/ld/ChangeLog b/ld/ChangeLog index f29913e9cf9..43dd3f31db7 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,2896 +1,6 @@ -2019-12-26 Alan Modra - - * ldlang.c (lang_output_section_find_by_flags): Don't use &p->field - when p might be NULL. - * ldelf.c (output_rel_find, ldelf_place_orphan): Likewise. - (insert_os_after, lang_insert_orphan, lookup_name): Likewise. - (strip_excluded_output_sections, lang_clear_os_map): Likewise. - (lang_check, lang_for_each_input_file): Likewise. - (lang_reset_memory_regions, find_replacements_insert_point): Likewise. - (find_rescan_insertion, lang_propagate_lma_regions): Likewise. - (lang_record_phdrs): Likewise. - * emultempl/alphaelf.em (alpha_after_open): Likewise. - * emultempl/mmo.em (mmo_place_orphan): Likewise. - * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. - * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise. - * emultempl/ppc32elf.em (ppc_after_check_relocs): Likewise. - * emultempl/spuelf.em (spu_before_allocation): Likewise. - (embedded_spu_file): Likewise. - -2019-12-19 Alan Modra - - * testsuite/lib/ld-lib.exp (uses_genelf): Remove moxie. - -2019-12-18 Anthony Green - - * emulparams/elf32moxie.sh (TEMPLATE_NAME): Switch to elf template - to enable --build-id. - * configure.tgt: Don't define targ_extra_ofiles for moxie-*-*. - -2019-12-18 Alan Modra - - * pe-dll.c (pe_get32, pe_as32): Avoid signed overflow. - -2019-12-17 Alan Modra - - * testsuite/ld-avr/lds-mega.d: Adjust symbols to suit objdump change. - * testsuite/ld-avr/lds-tiny.d: Likewise. - * testsuite/ld-x86-64/load2.d: Likewise. - * testsuite/ld-mips-elf/compact-eh1.s: Give function symbols - function type. - * testsuite/ld-mips-elf/compact-eh1a.s: Likewise. - * testsuite/ld-mips-elf/compact-eh1b.s: Likewise. - * testsuite/ld-mips-elf/compact-eh2.s: Likewise. - * testsuite/ld-mips-elf/compact-eh3.s: Likewise. - * testsuite/ld-mips-elf/compact-eh3a.s: Likewise. - * testsuite/ld-mips-elf/eh-frame5.s: Likewise. - * testsuite/ld-mips-elf/ehdr_start-new.s: Likewise. - * testsuite/ld-mips-elf/ehdr_start-o32.s: Likewise. - * testsuite/ld-mips-elf/emit-relocs-1a.s: Likewise. - * testsuite/ld-mips-elf/jaloverflow-2.s: Likewise. - * testsuite/ld-mips-elf/jaloverflow.s: Likewise. - * testsuite/ld-mips-elf/mips16-call-global-1.s: Likewise. - * testsuite/ld-mips-elf/mips16-intermix-1.s: Likewise. - * testsuite/ld-mips-elf/mips16-pic-1b.s: Likewise. - * testsuite/ld-mips-elf/mips16-pic-4c.s: Likewise. - * testsuite/ld-mips-elf/no-shared-1-n64.s: Likewise. - * testsuite/ld-mips-elf/no-shared-1-o32.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-1b-micromips.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-1b.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-2a.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-3b.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-4b.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-5a.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-6-n32c.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-6-n64c.s: Likewise. - * testsuite/ld-mips-elf/pic-and-nonpic-6-o32c.s: Likewise. - * testsuite/ld-mips-elf/pie.s: Likewise. - * testsuite/ld-mips-elf/relax-jalr.s: Likewise. - * testsuite/ld-mips-elf/reloc-1a.s: Likewise. - * testsuite/ld-mips-elf/reloc-2a.s: Likewise. - * testsuite/ld-mips-elf/reloc-4.s: Likewise. - * testsuite/ld-mips-elf/reloc-5.s: Likewise. - * testsuite/ld-mips-elf/reloc-6b.s: Likewise. - * testsuite/ld-mips-elf/textrel-1.s: Likewise. - * testsuite/ld-mips-elf/undefweak-overflow.s: Likewise. - * testsuite/ld-mips-elf/undefweak-overflow.d: Adjust. - -2019-12-17 Alan Modra - - * testsuite/ld-elf/pr21233-l.sd: Accept OBJECT for type and - PRC for section of symbols. - * testsuite/ld-elf/pr23591.d: Likewise. - * testsuite/ld-elf/provide-hidden-s.nd: Likewise. - * testsuite/ld-mips-elf/start.s: Make symbols function type. - * testsuite/ld-mips-elf/hash2.d: Adjust. Don't xfail irix. - -2019-12-17 Alan Modra - - * emulparams/tic80coff.sh: Delete file. - * scripttempl/tic80coff.sc: Delete file. - * configure.tgt: Remove tic80 support. - * Makefile.am: Likewise. - * Makefile.in: Regenerate. - * po/BLD-POTFILES.in: Regenerate. - -2019-12-12 H.J. Lu - - * testsuite/ld-i386/align-branch-1.d: New file. - * testsuite/ld-i386/align-branch-1.s: Likewise. - * testsuite/ld-x86-64/align-branch-1.d: Likewise. - * testsuite/ld-x86-64/align-branch-1.3: Likewise. - * testsuite/ld-i386/i386.exp: Run the new test. - * testsuite/ld-x86-64/x86-64.exp: Likewise. - -2019-12-08 Alan Modra - - * testsuite/ld-elf/eh4.d: Match optional padding DW_CFA_nop in FDEs. - * testsuite/ld-elf/eh5.d: Likewise, and extra CIEs emitted on - embedded targets. - -2019-12-06 Alan Modra - - * testsuite/ld-mips-elf/eh-frame1-n32.d: Pass --eh-frame-hdr to ld. - * testsuite/ld-mips-elf/eh-frame1-n64.d: Likewise. - * testsuite/ld-mips-elf/eh-frame2-n32.d: Likewise. - * testsuite/ld-mips-elf/eh-frame2-n64.d: Likewise. - -2019-12-05 Alan Modra - - PR 25244 - * ldlang.c (lang_print_memory_usage): Correct last patch. - -2019-12-05 Alan Modra - - PR 25243 - * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Move definition - of __exidx_start and __exidx_end into ARM.exidx. - * emulparams/armelf_linux_eabi.sh (OTHER_READONLY_SECTIONS): Likewise. - * emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS): Similarly. - * emulparams/elf32_tic6x_le.sh (OTHER_READONLY_SECTIONS): Similarly. - * emulparams/armelf_fuchsia.sh: Source armelf_linux_eabi.sh, - just redefining TEXT_START_ADDR. - * emulparams/armelf_linux_fdpiceabi.sh: Source armelf_linux_eabi.sh, - adding to OTHER_READONLY_SECTIONS. - -2019-12-05 Alan Modra - - PR 25244 - * ldlang.c (lang_print_memory_usage): Don't print percent used - when length is zero. - -2019-11-27 Andrew Burgess - - * testsuite/ld-elf/eh5.d: Accept version 3 DWARF CIE. - -2019-11-26 Martin Liska - - * scripttempl/arclinux.sc: Add .text.sorted.* which is sorted - by default. - * scripttempl/elf.sc: Likewise. - * scripttempl/elf64bpf.sc: Likewise. - * scripttempl/nds32elf.sc: Likewise. - * testsuite/ld-arm/arm-no-rel-plt.ld: Expect .text.sorted.* - in the default linker script. - * testsuite/ld-arm/fdpic-main.ld: Likewise. - * testsuite/ld-arm/fdpic-shared.ld: Likewise. - -2019-11-25 Alan Modra - - * ldexp.c (fold_name): Pass section to bfd_octets_per_byte. - * ldlang.c (init_opb): Don't call bfd_arch_mach_octets_per_byte - unnecessarily. - -2019-11-25 Christian Eggers - - * ldexp.c (fold_name): Provide section parameter to - bfd_octets_per_byte. - * ldlang (init_opb): New argument s. Set opb_shift to 0 if - SEC_ELF_OCTETS for the current section is set. - (print_input_section): Pass current section to init_opb. - (print_data_statement,print_reloc_statement, - print_padding_statement): Likewise. - (lang_check_section_addresses): Call init_opb for each - section. - (lang_size_sections_1,lang_size_sections_1, - lang_do_assignments_1): Likewise. - (lang_process): Pass NULL to init_opb. - -2019-11-22 Nick Clifton - - * ld.texi (Output Section Discarding): Add note indicating that - /DISCARD/ed sections ignore ELF section grouping. - -2019-11-22 Nick Clifton - - * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Use cast instead of - extra check. - -2019-11-21 Nick Clifton - - * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Check for an empty - file chain before examining the first input statement. - -2019-11-21 Alan Modra - - PR 46 - * scripttempl/pe.sc: Comment on ld -Ur fail. Wrap .gcc_exc comment. - * scripttempl/pep.sc: Likewise. - * scripttempl/i386beos.sc: Wrap .gcc_exc comment. - * scripttempl/mcorepe.sc: Likewise. - * testsuite/ld-cdtest/cdtest.exp (test2): xfail for pe. - -2019-11-12 Jim Wilson - - PR 25181 - * testsuite/ld-riscv-elf/call-relax-0.s: New file. - * testsuite/ld-riscv-elf/call-relax-1.s: New file. - * testsuite/ld-riscv-elf/call-relax-2.s: New file. - * testsuite/ld-riscv-elf/call-relax-3.s: New file. - * testsuite/ld-riscv-elf/call-relax.d: New test. - * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run call-relax test. - -2019-11-08 Alan Modra - - * emulparams/aarch64elf.sh: Revert 2019-11-05 change. - * emulparams/aarch64elf32.sh: Likewise. - * emulparams/arcelf.sh: Likewise. - * emulparams/armelf.sh: Likewise. - * emulparams/armelf_fbsd.sh: Likewise. - * emulparams/armelf_nbsd.sh: Likewise. - * emulparams/armelf_vxworks.sh: Likewise. - * emulparams/armsymbian.sh: Likewise. - * emulparams/elf32bfin.sh: Likewise. - * emulparams/elf32microblaze.sh: Likewise. - * emulparams/score3_elf.sh: Likewise. - * emulparams/shelf.sh: Likewise. - * emulparams/shelf_nbsd.sh: Likewise. - * emulparams/shelf_uclinux.sh: Likewise. - -2019-11-07 Alan Modra - - * emulparams/elf32cr16c.sh: Delete. - * scripttempl/elf32cr16c.sc: Delete. - * Makefile.am, - * configure.tgt: Remove cr16c support. - * NEWS: Mention removal of cr16c. - * Makefile.in, - * po/BLD-POTFILES.in: Regenerate. - -2019-11-07 Alan Modra - - * configure.tgt: Order targets by cpu. - -2019-11-07 Alan Modra - - * testsuite/ld-aarch64/aarch64-elf.exp: Run tests requiring pie - or shared library support only when check_shared_lib_support. - * testsuite/ld-aarch64/bti-pac-plt-1.d: Likewise. - * testsuite/ld-aarch64/bti-pac-plt-2.d: Likewise. - * testsuite/ld-aarch64/bti-plt-1.d: Likewise. - * testsuite/ld-aarch64/bti-plt-2.d: Likewise. - * testsuite/ld-aarch64/bti-plt-3.d: Likewise. - * testsuite/ld-aarch64/bti-plt-4.d: Likewise. - * testsuite/ld-aarch64/bti-plt-6.d: Likewise. - * testsuite/ld-aarch64/bti-plt-7.d: Likewise. - * testsuite/ld-aarch64/bti-warn.d: Likewise. - * testsuite/ld-aarch64/dt_textrel.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-258-dyn-bad.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-259-dyn-bad.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-264-bad.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-266-bad.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-268-bad.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-269-bad.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-515.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise. - * testsuite/ld-aarch64/emit-relocs-516.d: Likewise. - * testsuite/ld-aarch64/farcall-b-plt.d: Likewise. - * testsuite/ld-aarch64/farcall-bl-plt.d: Likewise. - * testsuite/ld-aarch64/gc-plt-relocs.d: Likewise. - * testsuite/ld-aarch64/gc-relocs-257-dyn.d: Likewise. - * testsuite/ld-aarch64/ifunc-1-local.d: Likewise. - * testsuite/ld-aarch64/ifunc-1.d: Likewise. - * testsuite/ld-aarch64/ifunc-12.d: Likewise. - * testsuite/ld-aarch64/ifunc-13.d: Likewise. - * testsuite/ld-aarch64/ifunc-14a.d: Likewise. - * testsuite/ld-aarch64/ifunc-14b.d: Likewise. - * testsuite/ld-aarch64/ifunc-14c.d: Likewise. - * testsuite/ld-aarch64/ifunc-14d.d: Likewise. - * testsuite/ld-aarch64/ifunc-14e.d: Likewise. - * testsuite/ld-aarch64/ifunc-14f.d: Likewise. - * testsuite/ld-aarch64/ifunc-15.d: Likewise. - * testsuite/ld-aarch64/ifunc-16.d: Likewise. - * testsuite/ld-aarch64/ifunc-18a.d: Likewise. - * testsuite/ld-aarch64/ifunc-18b.d: Likewise. - * testsuite/ld-aarch64/ifunc-19a.d: Likewise. - * testsuite/ld-aarch64/ifunc-19b.d: Likewise. - * testsuite/ld-aarch64/ifunc-2-local.d: Likewise. - * testsuite/ld-aarch64/ifunc-2.d: Likewise. - * testsuite/ld-aarch64/ifunc-20.d: Likewise. - * testsuite/ld-aarch64/ifunc-21.d: Likewise. - * testsuite/ld-aarch64/ifunc-3a.d: Likewise. - * testsuite/ld-aarch64/ifunc-3b.d: Likewise. - * testsuite/ld-aarch64/ifunc-5b-local.d: Likewise. - * testsuite/ld-aarch64/ifunc-5b.d: Likewise. - * testsuite/ld-aarch64/ifunc-6b.d: Likewise. - * testsuite/ld-aarch64/ifunc-7b.d: Likewise. - * testsuite/ld-aarch64/ifunc-7c.d: Likewise. - * testsuite/ld-aarch64/pac-plt-1.d: Likewise. - * testsuite/ld-aarch64/pac-plt-2.d: Likewise. - * testsuite/ld-aarch64/pcrel_pic_defined.d: Likewise. - * testsuite/ld-aarch64/pcrel_pic_undefined.d: Likewise. - * testsuite/ld-aarch64/pie-bind-locally.d: Likewise. - * testsuite/ld-aarch64/plt_mapping_symbol.d: Likewise. - * testsuite/ld-aarch64/pr20402.d: Likewise. - * testsuite/ld-aarch64/pr22764.d: Likewise. - * testsuite/ld-aarch64/property-bti-pac1.d: Likewise. - * testsuite/ld-aarch64/protected-data.d: Likewise. - * testsuite/ld-aarch64/rela-abs-relative-be.d: Likewise. - * testsuite/ld-aarch64/rela-abs-relative-opt.d: Likewise. - * testsuite/ld-aarch64/rela-abs-relative.d: Likewise. - * testsuite/ld-aarch64/relasz.d: Likewise. - * testsuite/ld-aarch64/relocs-1027-symbolic-func.d: Likewise. - * testsuite/ld-aarch64/tls-desc-ie-ilp32.d: Likewise. - * testsuite/ld-aarch64/tls-desc-ie.d: Likewise. - * testsuite/ld-aarch64/tls-large-desc-be.d: Likewise. - * testsuite/ld-aarch64/tls-large-desc.d: Likewise. - * testsuite/ld-aarch64/tls-large-ie-be.d: Likewise. - * testsuite/ld-aarch64/tls-large-ie.d: Likewise. - * testsuite/ld-aarch64/tls-relax-gdesc-le-now.d: Likewise. - * testsuite/ld-aarch64/tls-small-ld.d: Likewise. - * testsuite/ld-aarch64/tls-tiny-desc.d: Likewise. - * testsuite/ld-aarch64/tls-tiny-gd.d: Likewise. - * testsuite/ld-aarch64/tls-tiny-ie.d: Likewise. - * testsuite/ld-aarch64/tls-tiny-ld.d: Likewise. - * testsuite/ld-aarch64/tlsle-symbol-offset.d: Likewise. - * testsuite/ld-aarch64/tlsle.d: Likewise. - * testsuite/ld-aarch64/variant_pcs-now.d: Likewise. - * testsuite/ld-aarch64/variant_pcs-shared.d: Likewise. - * testsuite/ld-arm/arm-elf.exp: Likewise. Remove --hash-style=sysv - from static tests. Consolidate armelftests_common_* vars into one. - * testsuite/ld-arm/gc-hidden-1.d: Require check_shared_lib_support. - * testsuite/ld-arm/movw-shared-1.d: Likewise. - * testsuite/ld-arm/movw-shared-2.d: Likewise. - * testsuite/ld-arm/movw-shared-3.d: Likewise. - * testsuite/ld-arm/movw-shared-4.d: Likewise. - * testsuite/ld-arm/pie-bind-locally.d: Likewise. - * testsuite/ld-arm/protected-data.d: Likewise. - * testsuite/ld-arm/rel32-reject-pie.d: Likewise. - * testsuite/ld-arm/rel32-reject.d: Likewise. - * testsuite/ld-arm/thumb2-bl-undefweak.d: Likewise. - * testsuite/ld-arm/thumb2-bl-undefweak1.d: Likewise. - -2019-11-06 Christian Eggers - - * ldlang.c (print_input_section): Shift printed size by opb_shift. - -2019-11-05 Alan Modra - - * emulparams/aarch64elf.sh (GENERATE_SHLIB_SCRIPT), - (GENERATE_PIE_SCRIPT): Don't set. - * emulparams/aarch64elf32.sh (GENERATE_SHLIB_SCRIPT), - (GENERATE_PIE_SCRIPT): Don't set. - * emulparams/arcelf.sh (GENERATE_SHLIB_SCRIPT): Don't set. - * emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT), - (GENERATE_PIE_SCRIPT): Don't set. - * emulparams/armelf_fbsd.sh (GENERATE_SHLIB_SCRIPT): Set. - * emulparams/armelf_nbsd.sh (GENERATE_SHLIB_SCRIPT), - (GENERATE_PIE_SCRIPT): Set. - * emulparams/armelf_vxworks.sh (GENERATE_SHLIB_SCRIPT): Set. - * emulparams/armsymbian.sh (GENERATE_SHLIB_SCRIPT): Set. - * emulparams/elf32bfin.sh (GENERATE_SHLIB_SCRIPT): Don't set. - * emulparams/elf32microblaze.sh (GENERATE_SHLIB_SCRIPT): Don't set. - * emulparams/score3_elf.sh (GENERATE_SHLIB_SCRIPT): Don't set. - * emulparams/shelf.sh (GENERATE_SHLIB_SCRIPT): Don't set. - * emulparams/shelf_nbsd.sh (GENERATE_SHLIB_SCRIPT), - (GENERATE_PIE_SCRIPT): Set. - * emulparams/shelf_uclinux.sh (GENERATE_SHLIB_SCRIPT): Set. - -2019-11-05 Alan Modra - - * emulparams/elf32bfinfd.sh: Unset EMBEDDED rather assigning as empty. - * emulparams/elf32frvfd.sh: Likewise. - * emulparams/elf32lm32fd.sh: Likewise. - * emulparams/i386lynx.sh: Likewise. - -2019-10-22 Alan Modra - - PR 22269 - * testsuite/ld-elf/pr22269-1.rd: Look for GOT section NONE and - RELATIVE relocs. - * testsuite/ld-elf/shared.exp (pr22269-1): Give test a better - name. Use -z nocombreloc. - -2019-10-19 Alan Modra - - PR ld/25110 - * testsuite/ld-gc/gc.exp: Adjust LDFLAGS for pr19161 dump test on - hppa*-*-linux*. - -2019-10-17 Nelson Chu - - * testsuite/ld-riscv-elf/lib-nopic-01b.d: Update the error message. - - * testsuite/ld-riscv-elf/lib-nopic-01a.s: Create the shared library - lib-nopic-01a.so, it will be linked with lib-nopic-01b.s. - * testsuite/ld-riscv-elf/lib-nopic-01b.s: Add new test for the - unresolved relocation. Link the non-pic code into a shared library - may cause the error. - * testsuite/ld-riscv-elf/lib-nopic-01b.d: Likewise. - * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run the new test only when - the shared library is supported. - -2019-10-16 Alan Modra - - PR 13616 - * emulparams/elf64lppc.sh (NOP): Don't define. - * emulparams/elf64ppc.sh (NOP): Don't define. - * ldwrite.c (build_link_order): Use link_info.big_endian. Move - code determining endian to use for data_statement to.. - * ldemul.c (after_open_default): ..here. Set link_info.big_endian. - -2019-10-16 Alan Modra - - * genscripts.sh: Correct comments. Remove outdated comment block - saying "Generate 5 or 6 script files..". Remove description of - ld options from comment emitted to script files, and order options - as per comment block in genscripts.sh saying which scripts are - generated. - -2019-10-14 Alan Modra - - * ldctor.h (struct set_element): Make next field a union, adding - idx field. - * ldctor.c (ctor_cmp): Dereference pointer and lose unnecessary - const. Replace final sort on pointer value with final sort on idx. - (ldctor_add_set_entry): Adjust next field access. - (ldctor_build_sets): Likewise. Set u.idx field for sort. - -2019-10-14 Alan Modra - - * pe-dll.c (reloc_data_type): Add idx field. - (reloc_sort): Perform final sort by idx. - (generate_reloc): Set idx. - -2019-10-13 Nick Clifton - - * NEWS: Delete superflous "Changes in 2.33" comment. - -2019-10-09 Alan Modra - - PR 25081 - * ldlang.c (lang_size_sections_1): Set lma from section vma - rather than dot. - -2019-10-08 Alan Modra - - * testsuite/ld-powerpc/localgot.s, - * testsuite/ld-powerpc/localgot.d: New test. - * testsuite/ld-powerpc/powerpc.exp: Run it. - -2019-10-07 Jozef Lawrynowicz - - * testsuite/ld-msp430-elf/attr-gnu-main.s: New test. - * testsuite/ld-msp430-elf/attr-gnu-obj.s: New test. - * testsuite/ld-msp430-elf/attr-gnu-region-lower-upper.d: New test. - * testsuite/ld-msp430-elf/attr-gnu-region-lower.d: New test. - * testsuite/ld-msp430-elf/attr-gnu-region-upper.d: New test. - * testsuite/ld-msp430-elf/msp430-elf.exp: Run new tests. - -2019-10-07 Alan Modra - - * ldmisc.c (vfinfo): Save and restore bfd_error around bfd - function calls that might set it. - * testsuite/ld-elf/indirect.exp: Don't expect "nonrepresentable - section" message. - -2019-10-07 Alan Modra - - * testsuite/ld-powerpc/tlsexe.r: Adjust for added TLSMARK symbol. - * testsuite/ld-powerpc/tlsexe32.r: Likewise. - * testsuite/ld-powerpc/tlsso.r: Likewise. - * testsuite/ld-powerpc/tlsso32.r: Likewise. - * testsuite/ld-powerpc/tls32no.d, - * testsuite/ld-powerpc/tls32no.g: New test files. - * testsuite/ld-powerpc/tlsexe32no.d, - * testsuite/ld-powerpc/tlsexe32no.g, - * testsuite/ld-powerpc/tlsexe32no.r: New test files. - * testsuite/ld-powerpc/tlsexeno.d, - * testsuite/ld-powerpc/tlsexeno.g, - * testsuite/ld-powerpc/tlsexeno.r: New test files. - * testsuite/ld-powerpc/tlsexetocno.d, - * testsuite/ld-powerpc/tlsexetocno.g: New test files. - * testsuite/ld-powerpc/tlsno.d, - * testsuite/ld-powerpc/tlsno.g: New test files. - * testsuite/ld-powerpc/tlstocno.d, - * testsuite/ld-powerpc/tlstocno.g: New test files. - * testsuite/ld-powerpc/powerpc.exp: Run new tests. - -2019-10-07 Alan Modra - - * testsuite/ld-arm/tls-gdesc-neg.d: Relax target match. - -2019-10-04 Alan Modra - - * testsuite/ld-powerpc/tlsso.d: Adjust to suit tlsld_got usage change. - * testsuite/ld-powerpc/tlsso.g: Likewise. - * testsuite/ld-powerpc/tlsso.r: Likewise. - * testsuite/ld-powerpc/tlsso32.d: Likewise. - * testsuite/ld-powerpc/tlsso32.g: Likewise. - * testsuite/ld-powerpc/tlsso32.r: Likewise. - -2019-10-04 Szabolcs Nagy - - PR ld/25062 - * testsuite/ld-arm/arm-elf.exp: Update. - * testsuite/ld-arm/tls-gdesc-neg.d: New test. - * testsuite/ld-arm/tls-gdesc-neg.s: New test. - -2019-09-23 Nick Alcock - - * configure.ac (TESTCTFLIB): Set to the .so or .a, like TESTBFDLIB. - * Makefile.am (TESTCTFLIB): Use it. - (LIBCTF): Use the .la file. - (check-DEJAGNU): Use it. - * Makefile.in: Regenerated. - * configure: Likewise. - -2019-09-30 Nick Alcock - - * ldlang.h: (struct lang_input_statement_struct): Add the_ctf. - (struct elf_sym_strtab): Add forward. - (struct elf_strtab_hash): Likewise. - (ldlang_ctf_apply_strsym): Declare. - (ldlang_write_ctf_late): Likewise. - * ldemul.h (ldemul_emit_ctf_early): New. - (ldemul_examine_strtab_for_ctf): Likewise. - (ld_emulation_xfer_type) : Likewise. - (ld_emulation_xfer_type) : Likewise. - * ldemul.c (ldemul_emit_ctf_early): New. - (ldemul_examine_strtab_for_ctf): Likewise. - * ldlang.c: Include ctf-api.h. - (CTF_COMPRESSION_THRESHOLD): New. - (ctf_output): New. Initialized in... - (ldlang_open_ctf): ... this new function. Open all the CTF - sections in the input files: mark them non-loaded and empty - so as not to copy their contents to the output, but linker-created - so the section gets created in the target. - (ldlang_merge_ctf): New, merge types via ctf_link_add_ctf and - ctf_link. - (ldlang_ctf_apply_strsym): New, an examine_strtab callback: wrap - ldemul_examine_strtab_for_ctf. - (lang_write_ctf): New, write out the CTF section. - (ldlang_write_ctf_late): New, late call via bfd's emit_ctf hook. - (lang_process): Call ldlang_open_ctf, ldlang_merge_ctf, and - lang_write_ctf. - * ldmain.c (link_callbacks): Add ldlang_ctf_apply_strsym, - ldlang_write_ctf_late. - * emultempl/aix.em: Add ctf-api.h. - * emultempl/armcoff.em: Likewise. - * emultempl/beos.em: Likewise. - * emultempl/elf.em: Likewise. - * emultempl/generic.em: Likewise. - * emultempl/linux.em: Likewise. - * emultempl/msp430.em: Likewise. - * emultempl/pe.em: Likewise. - * emultempl/pep.em: Likewise. - * emultempl/ticoff.em: Likewise. - * emultempl/vanilla.em: Likewise. - * ldcref.c: Likewise. - * ldctor.c: Likewise. - * ldelf.c: Likewise. - * ldelfgen.c: Likewise. - * ldemul.c: Likewise. - * ldexp.c: Likewise. - * ldfile.c: Likewise. - * ldgram.c: Likewise. - * ldlex.l: Likewise. - * ldmain.c: Likewise. - * ldmisc.c: Likewise. - * ldver.c: Likewise. - * ldwrite.c: Likewise. - * lexsup.c: Likewise. - * mri.c: Likewise. - * pe-dll.c: Likewise. - * plugin.c: Likewise. - - * ldelfgen.c (ldelf_emit_ctf_early): New. - (ldelf_examine_strtab_for_ctf): tell libctf about the symtab and - strtab. - (struct ctf_strsym_iter_cb_arg): New, state to do so. - (ldelf_ctf_strtab_iter_cb): New: tell libctf about - each string in the strtab in turn. - (ldelf_ctf_symbols_iter_cb): New, tell libctf - about each symbol in the symtab in turn. - * ldelfgen.h (struct elf_sym_strtab): Add forward. - (struct elf_strtab_hash): Likewise. - (struct ctf_file): Likewise. - (ldelf_emit_ctf_early): Declare. - (ldelf_examine_strtab_for_ctf): Likewise. - * emultempl/elf-generic.em (LDEMUL_EMIT_CTF_EARLY): Set it. - (LDEMUL_EXAMINE_STRTAB_FOR_CTF): Likewise. - * emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Add - emit_ctf_early and examine_strtab_for_ctf, NULL by default. - * emultempl/armcoff.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/beos.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/elf.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/msp430.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/pe.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/pep.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/ticoff.em (ld_${EMULATION_NAME}_emulation): Likewise. - * emultempl/vanilla.em (ld_vanilla_emulation): Likewise. - - * Makefile.am: Pull in libctf (and zlib, a transitive requirement - for compressed CTF section emission). Pass it on to DejaGNU. - * configure.ac: Add AM_ZLIB. - * aclocal.m4: Added zlib.m4. - * Makefile.in: Regenerated. - * testsuite/ld-bootstrap/bootstrap.exp: Use it when relinking ld. - -2019-10-02 Alan Modra - - * ld.texi (-Bsymbolic, -Bsymbolic-functions): Don't mention PIEs. - * ld.h (symbolic_enum, dynamic_list_enum), - (args_type ): Move to.. - * lexsup.c (parse_args): ..here, using auto vars opt_symbolic - and opt_dynamic_list rather than command_line fields. Only - act on -Bsymbolic and -Bsymbolic-functions for shared library - output. Free dynamic_list. - -2019-09-26 Alan Modra - - PR 24262 - * ld.texi (-plugin): Revert 2019-03-15 change. - -2019-09-25 Alan Modra - - * ld.texi (SORT_BY_ALIGNMENT): Reword slightly. - (SORT_BY_INIT_PRIORITY): Elucidate. - * ldlang.c: Include limits.h. - (get_init_priority): Comment. Change param to a section, - return an int. Sanity check priority digits. Support sorting - more sections with trailing digits. Return -1 on error. - (compare_section): Adjust. - -2019-09-25 Nick Clifton - - * emultempl/avrelf.em (_before_allocation): Silence build warning - using clang. - -2019-09-23 H.J. Lu - - * testsuite/ld-plugin/pr24406-1.c (main): Correct buffer size - to read. - -2019-09-23 Alan Modra - - * deffilep.y: Include bfdlink.h. - * ldelf.c: Likewise. - * ldelfgen.c: Likewise. - * ldver.c: Likewise. - * mri.c: Likewise. - * emultempl/irix.em: Don't include ld.h, ldmain.h, libiberty.h. - Comment. - -2019-09-23 Alan Modra - - * emultempl/m68kelf.em: Include elf32-m68k.h. - -2019-09-23 Alan Modra - - * emultempl/bfin.em: Include elf32-bfin.h. - -2019-09-23 Alan Modra - - * emultempl/cr16elf.em: Include elf32-cr16.h. - -2019-09-23 Alan Modra - - * emultempl/aix.em: Include xcofflink.h. - -2019-09-23 Alan Modra - - * emultempl/armelf.em: Include elf32-arm.h. - * emultempl/pe.em: Move func defines later and include coff-arm.h. - -2019-09-23 Alan Modra - - * emultempl/aarch64elf.em: Include elfxx-aarch64.h. - -2019-09-23 Alan Modra - - * emultempl/ia64elf.em: Include elfxx-ia64.h. - -2019-09-23 Alan Modra - - * emultempl/v850elf.em: Include elf32-v850.h. - -2019-09-23 Alan Modra - - * emultempl/cskyelf.em: Include elf32-csky.h. - -2019-09-22 Alan Modra - - * testsuite/ld-srec/sr3.cc (FOO_MSG_LEN): Set to 4. - -2019-09-20 Nelson Chu - - * testsuite/ld-riscv-elf/weakref32.s: Add relaxable undef weak code. - * testsuite/ld-riscv-elf/weakref64.s: Likewise. - * testsuite/ld-riscv-elf/weakref32.d: Updated. - * testsuite/ld-riscv-elf/weakref64.d: Updated. - -2019-09-20 Alan Modra - - * emultempl/xtensaelf.em (xtensa_get_section_deps): Comment. - Use bfd_section_userdata. - (xtensa_set_section_deps): Use bfd_set_section_userdata. - * ldlang.c (lang_output_section_get): Use bfd_section_userdata. - (sort_def_symbol): Likewise, and bfd_set_section_userdata. - (init_os): Use bfd_set_section_userdata. - (print_all_symbols): Use bfd_section_userdata. - * ldlang.h (get_userdata): Delete. - -2019-09-20 Alan Modra - - * ldelf.c (ldelf_after_open, ldelf_place_orphan - * ldlang.c (walk_wild_file, lang_process): Use bfd_usrdata. - (load_symbols, ldlang_add_file): Use bfd_set_usrdata. - * ldmain.c (add_archive_element): Use bfd_usrdata. - * ldlang.h (bfd_input_just_syms): New inline function. - * emultempl/aarch64elf.em (build_section_lists): Use it. - * emultempl/mmo.em (mmo_place_orphan): Likewise. - * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. - * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise. - * emultempl/ppc64elf.em (build_section_lists): Likewise. - -2019-09-18 Alan Modra - - * ldcref.c, * ldctor.c, * ldelf.c, * ldlang.c, * pe-dll.c, - * emultempl/aarch64elf.em, * emultempl/aix.em, - * emultempl/armcoff.em, * emultempl/armelf.em, - * emultempl/cr16elf.em, * emultempl/cskyelf.em, - * emultempl/m68hc1xelf.em, * emultempl/m68kelf.em, - * emultempl/mipself.em, * emultempl/mmix-elfnmmo.em, - * emultempl/mmo.em, * emultempl/msp430.em, - * emultempl/nios2elf.em, * emultempl/pe.em, * emultempl/pep.em, - * emultempl/ppc64elf.em, * emultempl/xtensaelf.em: Update - throughout for bfd section macro and function changes. - -2019-09-18 Alan Modra - - * ldcref.c (check_reloc_refs): Update bfd_get_section to - bfd_asymbol_section. - -2019-09-18 Simon Marchi - - * Makefile.in: Re-generate. - * configure: Re-generate. - -2019-09-18 Alan Modra - - * ldlang.c (stricpy, strcut, name_compare): Constify params. - (get_first_input_target): Make return and "target" const. - -2019-09-18 Alan Modra - - * emultempl/pe.em (after_open): Use bfd_set_filename. - * emultempl/pep.em (after_open): Use bfd_set_filename. - -2019-09-16 Alan Modra - - PR 25002 - * ldelf.c: Include safe-ctype.h. - -2019-09-16 Phil Blundell - - * Makefile.in, configure: Regenerated. - -2019-09-13 Alan Modra - - * ldlang.c (new_afile): Remove add_to_list parameter. - (lang_add_input_file): Update new_afile calls. - (lookup_name): Splice input_statement added by new_afile into - statement_list after current input_file_chain entry. - (lang_process): Update comment. - -2019-09-12 Alan Modra - - * ldlang.c (print_input_statement): Do not exclude linker created - BFDs. - -2019-09-12 Alan Modra - - PR 24981 - * ldlang.c (lang_process): Remove assertion. Comment. - -2019-09-11 Alan Modra - - * emultempl/elf32.em: Remove "misnamed" comment. Rename to.. - * emultempl/elf.em: ..this. - * configure.ac (elf_list_options): Adjust TEMPLATE_NAME grep. - * emulparams/aarch64cloudabi.sh (TEMPLATE_NAME): Set to elf. - * emulparams/aarch64elf.sh: Likewise. - * emulparams/aarch64elf32.sh: Likewise. - * emulparams/aarch64fbsd.sh: Likewise. - * emulparams/aarch64linux.sh: Likewise. - * emulparams/aarch64linux32.sh: Likewise. - * emulparams/arcelf.sh: Likewise. - * emulparams/arcelf_prof.sh: Likewise. - * emulparams/arclinux.sh: Likewise. - * emulparams/arclinux_prof.sh: Likewise. - * emulparams/arcv2elf.sh: Likewise. - * emulparams/arcv2elfx.sh: Likewise. - * emulparams/armelf.sh: Likewise. - * emulparams/armelf_fuchsia.sh: Likewise. - * emulparams/armelf_linux.sh: Likewise. - * emulparams/armelf_phoenix.sh: Likewise. - * emulparams/armnto.sh: Likewise. - * emulparams/avr1.sh: Likewise. - * emulparams/avr2.sh: Likewise. - * emulparams/avr25.sh: Likewise. - * emulparams/avr3.sh: Likewise. - * emulparams/avr31.sh: Likewise. - * emulparams/avr35.sh: Likewise. - * emulparams/avr4.sh: Likewise. - * emulparams/avr5.sh: Likewise. - * emulparams/avr51.sh: Likewise. - * emulparams/avr6.sh: Likewise. - * emulparams/avrtiny.sh: Likewise. - * emulparams/avrxmega1.sh: Likewise. - * emulparams/avrxmega2.sh: Likewise. - * emulparams/avrxmega3.sh: Likewise. - * emulparams/avrxmega4.sh: Likewise. - * emulparams/avrxmega5.sh: Likewise. - * emulparams/avrxmega6.sh: Likewise. - * emulparams/avrxmega7.sh: Likewise. - * emulparams/criself.sh: Likewise. - * emulparams/crislinux.sh: Likewise. - * emulparams/cskyelf.sh: Likewise. - * emulparams/d10velf.sh: Likewise. - * emulparams/elf32_sparc.sh: Likewise. - * emulparams/elf32_spu.sh: Likewise. - * emulparams/elf32_tic6x_le.sh: Likewise. - * emulparams/elf32_x86_64.sh: Likewise. - * emulparams/elf32am33lin.sh: Likewise. - * emulparams/elf32bfin.sh: Likewise. - * emulparams/elf32bfinfd.sh: Likewise. - * emulparams/elf32bmip.sh: Likewise. - * emulparams/elf32bmipn32-defs.sh: Likewise. - * emulparams/elf32cr16.sh: Likewise. - * emulparams/elf32cr16c.sh: Likewise. - * emulparams/elf32crx.sh: Likewise. - * emulparams/elf32epiphany.sh: Likewise. - * emulparams/elf32epiphany_4x4.sh: Likewise. - * emulparams/elf32frvfd.sh: Likewise. - * emulparams/elf32ip2k.sh: Likewise. - * emulparams/elf32lm32.sh: Likewise. - * emulparams/elf32lm32fd.sh: Likewise. - * emulparams/elf32lriscv-defs.sh: Likewise. - * emulparams/elf32m32c.sh: Likewise. - * emulparams/elf32mb_linux.sh: Likewise. - * emulparams/elf32mbel_linux.sh: Likewise. - * emulparams/elf32mcore.sh: Likewise. - * emulparams/elf32mep.sh: Likewise. - * emulparams/elf32metag.sh: Likewise. - * emulparams/elf32microblaze.sh: Likewise. - * emulparams/elf32mipswindiss.sh: Likewise. - * emulparams/elf32or1k.sh: Likewise. - * emulparams/elf32ppccommon.sh: Likewise. - * emulparams/elf32rl78.sh: Likewise. - * emulparams/elf32rx.sh: Likewise. - * emulparams/elf32tilegx.sh: Likewise. - * emulparams/elf32tilepro.sh: Likewise. - * emulparams/elf32vax.sh: Likewise. - * emulparams/elf32visium.sh: Likewise. - * emulparams/elf32xc16x.sh: Likewise. - * emulparams/elf32xc16xl.sh: Likewise. - * emulparams/elf32xc16xs.sh: Likewise. - * emulparams/elf32xstormy16.sh: Likewise. - * emulparams/elf32xtensa.sh: Likewise. - * emulparams/elf64_aix.sh: Likewise. - * emulparams/elf64_ia64.sh: Likewise. - * emulparams/elf64_s390.sh: Likewise. - * emulparams/elf64_sparc.sh: Likewise. - * emulparams/elf64alpha.sh: Likewise. - * emulparams/elf64bpf.sh: Likewise. - * emulparams/elf64hppa.sh: Likewise. - * emulparams/elf64mmix.sh: Likewise. - * emulparams/elf64rdos.sh: Likewise. - * emulparams/elf64tilegx.sh: Likewise. - * emulparams/elf_i386.sh: Likewise. - * emulparams/elf_i386_be.sh: Likewise. - * emulparams/elf_i386_ldso.sh: Likewise. - * emulparams/elf_i386_vxworks.sh: Likewise. - * emulparams/elf_iamcu.sh: Likewise. - * emulparams/elf_k1om.sh: Likewise. - * emulparams/elf_l1om.sh: Likewise. - * emulparams/elf_s390.sh: Likewise. - * emulparams/elf_x86_64.sh: Likewise. - * emulparams/h8300elf.sh: Likewise. - * emulparams/h8300elf_linux.sh: Likewise. - * emulparams/hppa64linux.sh: Likewise. - * emulparams/hppaelf.sh: Likewise. - * emulparams/hppalinux.sh: Likewise. - * emulparams/i386lynx.sh: Likewise. - * emulparams/i386moss.sh: Likewise. - * emulparams/i386nto.sh: Likewise. - * emulparams/m32relf.sh: Likewise. - * emulparams/m32relf_linux.sh: Likewise. - * emulparams/m68hc11elf.sh: Likewise. - * emulparams/m68hc11elfb.sh: Likewise. - * emulparams/m68hc12elf.sh: Likewise. - * emulparams/m68hc12elfb.sh: Likewise. - * emulparams/m68kelf.sh: Likewise. - * emulparams/mn10300.sh: Likewise. - * emulparams/nds32elf.sh: Likewise. - * emulparams/nds32elf16m.sh: Likewise. - * emulparams/nds32elf_linux.sh: Likewise. - * emulparams/nios2elf.sh: Likewise. - * emulparams/nios2linux.sh: Likewise. - * emulparams/pruelf.sh: Likewise. - * emulparams/score3_elf.sh: Likewise. - * emulparams/shelf.sh: Likewise. - * emulparams/shelf_nto.sh: Likewise. - * emulparams/shelf_vxworks.sh: Likewise. - * emulparams/shlelf_linux.sh: Likewise. - * emulparams/shlelf_nto.sh: Likewise. - * emulparams/v850.sh: Likewise. - * emulparams/v850_rh850.sh: Likewise. - * ldelf.c: Update comment. - * ldelf.h: Likewise. - * emultempl/aarch64elf.em: Likewise. - * emultempl/alphaelf.em: Likewise. - * emultempl/arclinux.em: Likewise. - * emultempl/armelf.em: Likewise. - * emultempl/avrelf.em: Likewise. - * emultempl/bfin.em: Likewise. - * emultempl/cr16elf.em: Likewise. - * emultempl/crxelf.em: Likewise. - * emultempl/cskyelf.em: Likewise. - * emultempl/elf-generic.em: Likewise. - * emultempl/elf-x86.em: Likewise. - * emultempl/epiphanyelf_4x4.em: Likewise. - * emultempl/hppaelf.em: Likewise. - * emultempl/ia64elf.em: Likewise. - * emultempl/m68hc1xelf.em: Likewise. - * emultempl/m68kelf.em: Likewise. - * emultempl/metagelf.em: Likewise. - * emultempl/mmix-elfnmmo.em: Likewise. - * emultempl/mmixelf.em: Likewise. - * emultempl/mmo.em: Likewise. - * emultempl/needrelax.em: Likewise. - * emultempl/nios2elf.em: Likewise. - * emultempl/ppc32elf.em: Likewise. - * emultempl/ppc64elf.em: Likewise. - * emultempl/pruelf.em: Likewise. - * emultempl/rxelf.em: Likewise. - * emultempl/scoreelf.em: Likewise. - * emultempl/spuelf.em: Likewise. - * emultempl/tic6xdsbt.em: Likewise. - * emultempl/v850elf.em: Likewise. - * emultempl/vms.em: Likewise. - * emultempl/vxworks.em: Likewise. - * emultempl/xtensaelf.em: Likewise. - * scripttempl/arclinux.sc: Likewise. - * scripttempl/armbpabi.sc: Likewise. - * scripttempl/elf.sc: Likewise. - * scripttempl/elf64bpf.sc: Likewise. - * scripttempl/elf64hppa.sc: Likewise. - * scripttempl/elf_chaos.sc: Likewise. - * scripttempl/elfarc.sc: Likewise. - * scripttempl/elfarcv2.sc: Likewise. - * scripttempl/elfd10v.sc: Likewise. - * scripttempl/elfm68hc11.sc: Likewise. - * scripttempl/elfm68hc12.sc: Likewise. - * scripttempl/elfm9s12z.sc: Likewise. - * scripttempl/elfxgate.sc: Likewise. - * scripttempl/elfxtensa.sc: Likewise. - * scripttempl/epiphany_4x4.sc: Likewise. - * scripttempl/iq2000.sc: Likewise. - * scripttempl/mep.sc: Likewise. - * scripttempl/nds32elf.sc: Likewise. - * scripttempl/v850.sc: Likewise. - * scripttempl/v850_rh850.sc: Likewise. - * scripttempl/xstormy16.sc: Likewise. - * testsuite/ld-arm/arm-dyn.ld: Likewise. - * testsuite/ld-arm/arm-lib.ld: Likewise. - * testsuite/ld-arm/arm-no-rel-plt.ld: Likewise. - * testsuite/ld-arm/fdpic-main.ld: Likewise. - * testsuite/ld-arm/fdpic-shared.ld: Likewise. - * testsuite/ld-elf/elf.exp: Likewise. - * testsuite/ld-elf/orphan-region.d: Likewise. - * testsuite/ld-elf/orphan.d: Likewise. - * testsuite/ld-elf/pr349.d: Likewise. - * testsuite/ld-elf/warn2.d: Likewise. - * testsuite/ld-elfvsb/elf-offset.ld: Likewise. - * testsuite/ld-mips-elf/mips-dyn.ld: Likewise. - * testsuite/ld-mips-elf/mips-lib.ld: Likewise. - * testsuite/ld-scripts/dynamic-sections.t: Likewise. - * testsuite/ld-shared/elf-offset.ld: Likewise. - * configure: Regenerate. - -2019-09-11 Alan Modra - - * Makefile.am (ALL_EMUL_EXTRA_OFILES): Add ldelf and ldelfgen. - (CFILES, HFILES, EXTRA_ld_new_SOURCES): Likewise. - * configure.tgt: Formatting. - (targ_extra_ofiles): Init to ldelf.o ldelfgen.o, reset to just - ldelfgen.o for generic ELF targets, and empty for non-ELF. - * emultempl/aarch64elf.em (gldaarch64_layout_sections_again): Use - ldelf_map_segments. - (gld${EMULATION_NAME}_after_allocation): Likewise. - (real_func, aarch64_for_each_input_file_wrapper), - (aarch64_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - * emultempl/alphaelf.em (alpha_after_parse): Use ldelf_map_segments. - * emultempl/armelf.em (gldarm_layout_sections_again): Likewise. - (gld${EMULATION_NAME}_after_allocation): Likewise. - (real_func, arm_for_each_input_file_wrapper), - (arm_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - * emultempl/cr16elf.em (cr16elf_after_parse): Use ldelf_map_segments. - * emultempl/crxelf.em (crxelf_after_parse): Likewise. Delete - declaration. - * emultempl/cskyelf.em (gldcsky_layout_sections_again): Use - ldelf_map_segments. - (gld${EMULATION_NAME}_after_allocation): Likewise. - (real_func, csky_for_each_input_file_wrapper), - (csky_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - * emultempl/genelf.em: Include ldelfgen.h. - (gld${EMULATION_NAME}_before_allocation): Use ldelf_map_segments. - * emultempl/hppaelf.em (hppaelf_after_parse): Likewise. - (hppaelf_layout_sections_again): Likewise. - (gld${EMULATION_NAME}_after_allocation): Likewise. - (real_func, hppa_for_each_input_file_wrapper), - (hppa_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - * emultempl/ia64elf.em (ia64elf_after_parse): Use ldelf_map_segments. - * emultempl/m68hc1xelf.em (real_func), - (m68hc11_for_each_input_file_wrapper), - (m68hc11_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - * emultempl/metagelf.em (metagelf_layout_sections_again): Use - ldelf_map_segments. - (gld${EMULATION_NAME}_after_allocation): Likewise. - (real_func, metag_for_each_input_file_wrapper), - (metag_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - * emultempl/mipself.em (real_func), - (mips_for_each_input_file_wrapper), - (mips_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - * emultempl/mmo.em: Don't include elf-bfd.h, do include ldelfgen.h. - (gld${EMULATION_NAME}_after_allocation): Use ldelf_map_segments. - * emultempl/nds32elf.em (nds32_elf_after_parse): Use ldelf_after_parse. - (nds32_elf_after_allocation): Comment fix. - * emultempl/nios2elf.em (nios2elf_layout_sections_again): Use - ldelf_map_segments. - (gld${EMULATION_NAME}_after_allocation): Likewise. - (real_func, nios2_for_each_input_file_wrapper), - (nios2_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - * emultempl/ppc32elf.em (gld${EMULATION_NAME}_load_symbols): Delete - declaration. - (ppc_recognized_file): Call ldelf_load_symbols. - * emultempl/ppc64elf.em (ppc_layout_sections_again): Likewise. - (gld${EMULATION_NAME}_after_allocation): Likewise. - (real_func, ppc_for_each_input_file_wrapper), - (ppc_lang_for_each_input_file): Delete. - (lang_for_each_input_file): Don't define. - (gld${EMULATION_NAME}_load_symbols): Don't declare. - (ppc64_recognized_file): Call ldelf_load_symbols. - * emultempl/riscvelf.em (gld${EMULATION_NAME}_after_allocation): - Use ldelf_map_segments. - * emultempl/spuelf.em (spu_place_special_section): Use - ldelf_place_orphan. - * emultempl/tic6xdsbt.em (gld${EMULATION_NAME}_after_allocation): - Use ldelf_map_segments. - * emultempl/vms.em: Include ldelfgen.h. - (gld${EMULATION_NAME}_after_allocation): Use ldelf_map_segments. - * emultempl/elf32.em: Remove unnecessary headers, include ldelf.h - and ldelfgen.h. Move much of file content to.. - * ldelf.c: ..here. New file. - * ldelf.h: New file. - * emultempl/elf-generic.em: Move gld${EMULATION_NAME}_map_segments.. - * ldelfgen.c: ..to here. - * ldelfgen.h: New file. - * ldlang.c (lang_for_each_input_file): Adjust to only call func - on real files. - (lang_for_each_file): Likewise. - * po/SRC-POTFILES.in: Regenerate. - * Makefile.in: Regenerate. - -2019-09-11 Alan Modra - - * ldmisc.c: Don't #include elf-bfd.h or coff-bfd.h. - (vfinfo): Use bfd_group_name. - -2019-09-11 Alan Modra - - * plugin.c (asymbol_from_plugin_symbol): Move code handling - ELF common symbols to block handling ELF visibility. Simplify - visibility setting. - -2019-09-09 H.J. Lu - - PR binutils/24887 - * testsuite/ld-i386/property-1.r: Adjust for new output format - from readelf. - * testsuite/ld-i386/property-1a.r: Likewise. - * testsuite/ld-i386/property-2.r: Likewise. - * testsuite/ld-i386/property-2a.r: Likewise. - * testsuite/ld-i386/property-3.r: Likewise. - * testsuite/ld-i386/property-3a.r: Likewise. - * testsuite/ld-i386/property-4.r: Likewise. - * testsuite/ld-i386/property-4a.r: Likewise. - * testsuite/ld-i386/property-5.r: Likewise. - * testsuite/ld-i386/property-5a.r: Likewise. - * testsuite/ld-i386/property-6.r: Likewise. - * testsuite/ld-i386/property-7.r: Likewise. - * testsuite/ld-i386/property-7a.r: Likewise. - * testsuite/ld-i386/property-1.r: Likewise. - * testsuite/ld-i386/property-1a.r: Likewise. - * testsuite/ld-i386/property-2.r: Likewise. - * testsuite/ld-i386/property-2a.r: Likewise. - * testsuite/ld-i386/property-3.r: Likewise. - * testsuite/ld-i386/property-3a.r: Likewise. - * testsuite/ld-i386/property-4.r: Likewise. - * testsuite/ld-i386/property-4a.r: Likewise. - * testsuite/ld-i386/property-5.r: Likewise. - * testsuite/ld-i386/property-5a.r: Likewise. - * testsuite/ld-i386/property-6.r: Likewise. - * testsuite/ld-i386/property-7.r: Likewise. - * testsuite/ld-i386/property-7a.r: Likewise. - -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-09-06 Alan Modra - - * emultempl/beos.em (sort_by_file_name): Use appropriate - intermediary variables. - (sort_by_section_name): Likewise. - -2019-09-06 Alan Modra - - * emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Constify - variable. - * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise. - * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. - -2019-09-05 Eric Botcazou - - PR ld/24574 - * pe-dll.c (pe_find_data_imports): Replace again the original name of - the undefined symbol with the __imp_ prefixed one after it is resolved. - -2019-09-05 Alan Modra - - * testsuite/ld-powerpc/pcrelopt.s, - * testsuite/ld-powerpc/pcrelopt.d: Test offset and prefix in - second instruction. - -2019-08-29 Alan Modra - - PR ld/24406 - * plugin.c (get_symbols): Test link_info.wrap_hash before calling - unwrap_hash_lookup. - -2019-08-22 Tamar Christina - - PR ld/24601 - * testsuite/ld-aarch64/aarch64-elf.exp (undef-tls, weak-tls): New. - * testsuite/ld-aarch64/undef-tls.d: New test. - * testsuite/ld-aarch64/undef-tls.s: New test. - * testsuite/ld-aarch64/weak-tls.d: New test. - * testsuite/ld-aarch64/weak-tls.s: New test. - -2019-08-20 Tamar Christina - - * testsuite/ld-arm/cortex-a8-fix-b-plt.d: Update Testcase. - * testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d: Likewise. - * testsuite/ld-arm/cortex-a8-fix-bcc-plt.d: Likewise. - * testsuite/ld-arm/farcall-cond-thumb-arm.d: Likewise. - * testsuite/ld-arm/farcall-mixed-app.d: Likewise. - * testsuite/ld-arm/farcall-mixed-app2.d: Likewise. - * testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise. - * testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise. - * testsuite/ld-arm/farcall-thumb-arm-short.d: Likewise. - * testsuite/ld-arm/farcall-thumb-arm.d: Likewise. - * testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise. - * testsuite/ld-arm/farcall-thumb-thumb.d: Likewise. - * testsuite/ld-arm/fix-arm1176-on.d: Likewise. - * testsuite/ld-arm/ifunc-10.dd: Likewise. - * testsuite/ld-arm/ifunc-2.dd: Likewise. - * testsuite/ld-arm/ifunc-4.dd: Likewise. - * testsuite/ld-arm/ifunc-6.dd: Likewise. - * testsuite/ld-arm/ifunc-8.dd: Likewise. - * testsuite/ld-arm/jump-reloc-veneers-long.d: Likewise. - * testsuite/ld-arm/mixed-app.d: Likewise. - * testsuite/ld-arm/thumb2-b-interwork.d: Likewise. - * testsuite/ld-arm/tls-longplt.d: Likewise. - * testsuite/ld-arm/tls-thumb1.d: Likewise. - -2019-08-16 H.J. Lu - - PR ld/24905 - * testsuite/ld-x86-64/pr24905-x32.d: New file. - * testsuite/ld-x86-64/pr24905.d: Likewise. - * testsuite/ld-x86-64/pr24905.s: Likewise. - * testsuite/ld-x86-64/pr24905.t: Likewise. - * testsuite/ld-x86-64/x86-64.exp: Run pr24905 and pr24905-x32. - -2019-08-16 Christophe Lyon - - * emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit - section. - -2019-08-16 Alan Modra - - * emultempl/ppc32elf.em (ppc_before_allocation): Force running - prelim_size_sections before deciding whether branch trampolines - might be needed. - -2019-08-15 Jim Wilson - - * testsuite/ld-riscv-elf/c-lui-2.d: New. - * testsuite/ld-riscv-elf/c-lui-2.ld: New. - * testsuite/ld-riscv-elf/c-lui-2.s: New. - * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run the c-lui-2 test. - -2019-08-10 Alan Modra - - * ldlang.h (enum statement_enum): Sort. - (union lang_statement_union): Sort. - -2019-08-10 Alan Modra - - * ldlang.h (lang_common_statement_type): Delete. - (lang_object_symbols_statement_type): Delete. - (union lang_statement_union): Remove common_statement and - object_symbols_statement. - -2019-08-10 Alan Modra - - * ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop, exp_trinop), - (exp_unop, exp_nameop, exp_assop, exp_assert): Remove casts of - stat_alloc return value. - * ldlang.c (new_statement, new_afile, sort_def_symbol), - (lang_memory_region_lookup, lang_memory_region_alias), - (ldlang_add_undef, ldlang_add_require_defined, insert_pad), - (lang_add_gc_name, lang_new_phdr): Likewise. - * lexsup.c (set_segment_start): Likewise. - -2019-08-10 Alan Modra - - * ldlang.h (lang_input_statement_type): Make next - and next_real_file a lang_input_statement_type pointer. - (lang_statement_append): Delete prototype. - (LANG_FOR_EACH_INPUT_STATEMENT): Update for lang_input_statement_type - change. - * ldmain.c (add_archive_element): Likewise. - * ldlang.c: Likewise throughout. - (lang_statement_append): Make static. Make element and field - void pointers. Remove casts in calls. - (lang_check): Use a lang_input_statement_type pointer for "file". - (find_rescan_insertion): Similarly for "iter" and return value. - (lang_process): Similarly for "insert", "iter" and "temp". - * emultempl/spuelf.em (embedded_spu_file): Likewise. - * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Expand - lang_statment_append call. - -2019-08-09 Mihailo Stojanovic - - * emulparams/elf32bmip.sh: Add .MIPS.xhash section. - * emulparams/elf32bmipn32-defs.sh: Add .MIPS.xhash section. - * emulparams/elf64bmip-defs.sh: Add .MIPS.xhash section. - * emultempl/mipself.em: Remove mips_after_parse function. - * testsuite/ld-elf/hash.d: Update comment. - * testsuite/ld-mips-elf/hash1.d: New test. - * testsuite/ld-mips-elf/hash1.s: Ditto. - * testsuite/ld-mips-elf/hash1a.d: Remove. - * testsuite/ld-mips-elf/hash1b.d: Ditto. - * testsuite/ld-mips-elf/hash1c.d: Ditto - * testsuite/ld-mips-elf/hash2.d: New test. - * testsuite/ld-mips-elf/mips-elf.exp: New tests. - * testsuite/ld-mips-elf/start.s: New test. - -2019-08-08 Nick Clifton - - PR 24887 - * testsuite/ld-aarch64/bti-plt-2.d: Adjust for new output format - from readelf. - * testsuite/ld-aarch64/bti-plt-4.d: Likewise. - * testsuite/ld-aarch64/bti-plt-6.d: Likewise. - * testsuite/ld-aarch64/bti-plt-7.d: Likewise. - * testsuite/ld-aarch64/bti-warn.d: Likewise. - * testsuite/ld-aarch64/property-bti-pac1.d: Likewise. - * testsuite/ld-aarch64/property-bti-pac2.d: Likewise. - * testsuite/ld-aarch64/property-bti-pac3.d: Likewise. - * testsuite/ld-elf/x86-feature-1a.rd: Likewise. - * testsuite/ld-elf/x86-feature-1b.rd: Likewise. - * testsuite/ld-elf/x86-feature-1c.rd: Likewise. - * testsuite/ld-elf/x86-feature-1d.rd: Likewise. - * testsuite/ld-elf/x86-feature-1e.rd: Likewise. - * testsuite/ld-i386/ibt-plt-2d.d: Likewise. - * testsuite/ld-i386/ibt-plt-3d.d: Likewise. - * testsuite/ld-i386/pr23372a.d: Likewise. - * testsuite/ld-i386/pr23372c.d: Likewise. - * testsuite/ld-i386/pr23486a.d: Likewise. - * testsuite/ld-i386/pr23486b.d: Likewise. - * testsuite/ld-i386/pr23486c.d: Likewise. - * testsuite/ld-i386/pr23486d.d: Likewise. - * testsuite/ld-i386/pr24322a.d: Likewise. - * testsuite/ld-i386/pr24322b.d: Likewise. - * testsuite/ld-i386/property-x86-3.d: Likewise. - * testsuite/ld-i386/property-x86-4a.d: Likewise. - * testsuite/ld-i386/property-x86-5.d: Likewise. - * testsuite/ld-i386/property-x86-cet1.d: Likewise. - * testsuite/ld-i386/property-x86-cet2a.d: Likewise. - * testsuite/ld-i386/property-x86-cet5a.d: Likewise. - * testsuite/ld-i386/property-x86-cet5b.d: Likewise. - * testsuite/ld-i386/property-x86-ibt1a.d: Likewise. - * testsuite/ld-i386/property-x86-ibt1b.d: Likewise. - * testsuite/ld-i386/property-x86-ibt2.d: Likewise. - * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. - * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. - * testsuite/ld-i386/property-x86-ibt4.d: Likewise. - * testsuite/ld-i386/property-x86-ibt5.d: Likewise. - * testsuite/ld-i386/property-x86-shstk1a.d: Likewise. - * testsuite/ld-i386/property-x86-shstk1b.d: Likewise. - * testsuite/ld-i386/property-x86-shstk2.d: Likewise. - * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. - * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. - * testsuite/ld-i386/property-x86-shstk4.d: Likewise. - * testsuite/ld-i386/property-x86-shstk5.d: Likewise. - * testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise. - * testsuite/ld-x86-64/ibt-plt-2d.d: Likewise. - * testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise. - * testsuite/ld-x86-64/ibt-plt-3d.d: Likewise. - * testsuite/ld-x86-64/pr23372a-x32.d: Likewise. - * testsuite/ld-x86-64/pr23372a.d: Likewise. - * testsuite/ld-x86-64/pr23372c-x32.d: Likewise. - * testsuite/ld-x86-64/pr23372c.d: Likewise. - * testsuite/ld-x86-64/pr23486a-x32.d: Likewise. - * testsuite/ld-x86-64/pr23486a.d: Likewise. - * testsuite/ld-x86-64/pr23486b-x32.d: Likewise. - * testsuite/ld-x86-64/pr23486b.d: Likewise. - * testsuite/ld-x86-64/pr23486c-x32.d: Likewise. - * testsuite/ld-x86-64/pr23486c.d: Likewise. - * testsuite/ld-x86-64/pr23486d-x32.d: Likewise. - * testsuite/ld-x86-64/pr23486d.d: Likewise. - * testsuite/ld-x86-64/pr24322a-x32.d: Likewise. - * testsuite/ld-x86-64/pr24322a.d: Likewise. - * testsuite/ld-x86-64/pr24322b-x32.d: Likewise. - * testsuite/ld-x86-64/pr24322b.d: Likewise. - * testsuite/ld-x86-64/pr24458a-x32.d: Likewise. - * testsuite/ld-x86-64/pr24458a.d: Likewise. - * testsuite/ld-x86-64/pr24458b-x32.d: Likewise. - * testsuite/ld-x86-64/pr24458b.d: Likewise. - * testsuite/ld-x86-64/pr24458c-x32.d: Likewise. - * testsuite/ld-x86-64/pr24458c.d: Likewise. - * testsuite/ld-x86-64/property-1.r: Likewise. - * testsuite/ld-x86-64/property-1a.r: Likewise. - * testsuite/ld-x86-64/property-2.r: Likewise. - * testsuite/ld-x86-64/property-2a.r: Likewise. - * testsuite/ld-x86-64/property-3.r: Likewise. - * testsuite/ld-x86-64/property-3a.r: Likewise. - * testsuite/ld-x86-64/property-4.r: Likewise. - * testsuite/ld-x86-64/property-4a.r: Likewise. - * testsuite/ld-x86-64/property-5.r: Likewise. - * testsuite/ld-x86-64/property-5a.r: Likewise. - * testsuite/ld-x86-64/property-6.r: Likewise. - * testsuite/ld-x86-64/property-7.r: Likewise. - * testsuite/ld-x86-64/property-7a.r: Likewise. - * testsuite/ld-x86-64/property-x86-3-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-3.d: Likewise. - * testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-4a.d: Likewise. - * testsuite/ld-x86-64/property-x86-5-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-5.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet1.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet2a.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet5a.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet5b.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt2.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt4.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-ibt5.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk2.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk4.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-shstk5.d: Likewise. - -2019-08-07 Jose E. Marchesi - - * scripttempl/elf64bpf.sc: Adapted from elf.sc. - * emulparams/elf64bpf.sh (SCRIPT_NAME): Use elf64bpf. - (EMBEDDED): Define. - * testsuite/ld-bpf/call-1.d: Do not expect a warning regarding an - undefined entry symbol. - * testsuite/ld-bpf/jump-1.d: Likewise. - * testsuite/ld-undefined/undefined.exp: Do not pass '-e entry' to - ld in BPF targets, and do not expect line number information. - * testsuite/ld-srec/srec.exp (run_srec_test): xfail s-record tests - in BPF targets. - -2019-08-06 Alan Modra - - PR 24873 - * ldlang.c (find_replacements_insert_point): Return "before" flag. - (find_next_input_statement): New function. - (lang_process): When placing recompiled LTO objects before a - claimed archive, place them immediately before in the statement - list. - -2019-08-06 Alan Modra - - PR 24873 - * ldlang.c (plugin_undefs): New static var. - (open_input_bfds ): Loop on - plugin_undefs and hitting plugin_insert point. - (lang_process ): Set plugin_undefs. - -2019-08-02 Alan Modra - - * testsuite/ld-powerpc/tlsie.s: Correct medium model ELF sequence. - -2019-08-01 Alan Modra - - PR 24806 - * ldlang.c (process_insert_statements): Add start of list - parameter. Use rather than lang_os_list.head. Process insert - statements inside group statements with a recursive call. - (lang_process): Adjust process_insert_statements call. - * lexsup.c (parse_args): Warn when adding missing --end-group. - -2019-08-01 Alan Modra - - * ldlang.h (lang_os_list): Rename from lang_output_section_statement. - * ldlang.c: Likewise throughout file. - * emultempl/alphaelf.em: Likewise. - * emultempl/elf32.em: Likewise. - * emultempl/mmo.em: Likewise. - * emultempl/pe.em: Likewise. - * emultempl/pep.em: Likewise. - * emultempl/ppc32elf.em: Likewise. - * emultempl/spuelf.em: Likewise. - -2019-07-26 Alan Modra - - * testsuite/ld-plugin/lto-3r.d: Accept D for powerpc64 descriptors. - * testsuite/ld-plugin/lto-5r.d: Likewise. - -2019-07-24 H.J. Lu - - * testsuite/ld-plugin/lto-3r.d: Restored. Check foo instead - of __gnu_lto_v.*. - * testsuite/ld-plugin/lto-5r.d: Likewise. - * testsuite/ld-plugin/lto.exp: Run lto-3r and lto-5r tests. - -2019-07-24 Claudiu Zissulescu - - * ld-arc/relax-local-pic.d: New test. - * ld-arc/relax-local-pic.s: New file. - -2019-07-22 Martin Liska - - * testsuite/ld-plugin/lto-3r.d: Remove. - * testsuite/ld-plugin/lto-5r.d: Remove. - * testsuite/ld-plugin/lto.exp: Do not run lto-3r and lto-5r - tests. - -2019-07-23 Alan Modra - - * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Condition - SHF_GNU_MBIND on osabi. Set output elf_gnu_osabi_mbind. - -2019-07-23 Alan Modra - - * testsuite/ld-elf/size-1.d, - * testsuite/ld-elf/size-1.s, - * testsuite/ld-elf/size-1.t: New test. - * testsuite/ld-elf/size-2.d, - * testsuite/ld-elf/size-2.s, - * testsuite/ld-elf/size-2.t: New test. - * testsuite/ld-scripts/size-1.d, - * testsuite/ld-scripts/size-1.s, - * testsuite/ld-scripts/size-1.t, - * testsuite/ld-scripts/size-2.s, - * testsuite/ld-scripts/size-2.d, - * testsuite/ld-scripts/size-2.t, - * testsuite/ld-scripts/size.exp: Delete. - -2019-07-22 Srinath Parvathaneni - - * ld/testsuite/ld-arm/cmse_main_sec_debug.d: Modify regexps to - allow for output from a arm-none-linux-gnueabihf target. - -2019-07-20 Alan Modra - - PR 24827 - * ldlex.l (comment): Check for 0 return from YY_INPUT, not EOF. - -2019-07-19 Alan Modra - - * testsuite/ld-powerpc/tlsgd.d, - * testsuite/ld-powerpc/tlsgd.s, - * testsuite/ld-powerpc/tlsie.d, - * testsuite/ld-powerpc/tlsie.s, - * testsuite/ld-powerpc/tlsld.d, - * testsuite/ld-powerpc/tlsld.s: New tests. - * testsuite/ld-powerpc/powerpc.exp: Run them. - -2019-07-19 Alan Modra - - * testsuite/ld-powerpc/tlsldopt.d: Rename from tlsld.d. - * testsuite/ld-powerpc/tlsldopt.s: Rename from tlsld.s. - * testsuite/ld-powerpc/tlsldopt32.d: Rename from tlsld32.d. - * testsuite/ld-powerpc/tlsldopt32.s: Rename from tlsld32.s. - * testsuite/ld-powerpc/powerpc.exp: Update. - -2019-07-19 Alan Modra - - PR 24819 - * testsuite/ld-elf/pr24819.d: xfail for genelf targets. - -2019-07-18 H.J. Lu - - PR ld/24819 - * emultempl/elf32.em (elf_orphan_compatible): Return FALSE for - member of output section group when doing a relocatable link. - * testsuite/ld-elf/pr24819.d: New file. - * testsuite/ld-elf/pr24819.s: Likewise. - -2019-07-13 Alan Modra - - * testsuite/ld-powerpc/tlsso.r: Update. - * testsuite/ld-powerpc/tlsso32.g: Update. - * testsuite/ld-powerpc/tlsso32.r: Update. - * testsuite/ld-powerpc/tlstocso.r: Update. - * testsuite/ld-cris/tls-dso-dtpoffd2.d: Update. - * testsuite/ld-cris/tls-dso-dtpoffd4.d: Update. - * testsuite/ld-cris/tls-dso-tpoffgotcomm1.d: Update. - * testsuite/ld-cris/tls-gd-1.d: Update. - * testsuite/ld-cris/tls-gd-1h.d: Update. - * testsuite/ld-cris/tls-gd-2.d: Update. - * testsuite/ld-cris/tls-gd-2h.d: Update. - * testsuite/ld-cris/tls-ie-10.d: Update. - * testsuite/ld-cris/tls-ie-11.d: Update. - * testsuite/ld-cris/tls-ie-8.d: Update. - * testsuite/ld-cris/tls-ie-9.d: Update. - * testsuite/ld-cris/tls-js1.d: Update. - * testsuite/ld-cris/tls-ld-4.d: Update. - * testsuite/ld-cris/tls-ld-5.d: Update. - * testsuite/ld-cris/tls-ld-6.d: Update. - * testsuite/ld-cris/tls-ld-7.d: Update. - * testsuite/ld-cris/tls-ldgd-14.d: Update. - * testsuite/ld-cris/tls-ldgd-15.d: Update. - * testsuite/ld-cris/tls-ldgdx-14.d: Update. - * testsuite/ld-cris/tls-ldgdx-15.d: Update. - * testsuite/ld-cris/tls-local-54.d: Update. - * testsuite/ld-cris/tls-local-60.d: Update. - * testsuite/ld-cris/tls-local-61.d: Update. - * testsuite/ld-cris/tls-local-63.d: Update. - * testsuite/ld-cris/tls-local-64.d: Update. - * testsuite/ld-cris/tls-ok-30.d: Update. - * testsuite/ld-cris/tls-ok-32.d: Update. - * testsuite/ld-cris/tls-ok-34.d: Update. - * testsuite/ld-mips-elf/tls-multi-got-1.got: Update. - * testsuite/ld-mips-elf/tls-multi-got-1.r: Update. - * testsuite/ld-mips-elf/tlsdyn-pie-o32.d: Update. - * testsuite/ld-mips-elf/tlsdyn-pie-o32.got: Update. - * testsuite/ld-mips-elf/tlslib-o32-hidden.got: Update. - * testsuite/ld-mips-elf/tlslib-o32-ver.got: Update. - * testsuite/ld-mips-elf/tlslib-o32.got: Update. - * testsuite/ld-s390/tlspic.rd: Update. - * testsuite/ld-s390/tlspic_64.rd: Update. - * testsuite/ld-sparc/tlssunnopic32.rd: Update. - * testsuite/ld-sparc/tlssunnopic64.rd: Update. - * testsuite/ld-sparc/tlssunpic32.rd: Update. - * testsuite/ld-sparc/tlssunpic64.rd: Update. - -2019-07-13 Alan Modra - - PR 24786 - * ldlang.h (enum section_type): Add first_overlay_section. - * ldlang.c (lang_add_section): Adjust switch statement. - (map_input_to_output_sections): Likewise. - (lang_size_sections_1): Always set last_os for first overlay section. - (lang_leave_overlay): Set sectype to first_overlay_section. - -2019-07-08 Alan Modra - - * testsuite/ld-powerpc/callstub-1.d: Pass -melf64ppc to ld. - * testsuite/ld-powerpc/callstub-2.d: Likewise. - -2019-07-04 Jan Beulich - - * testsuite/ld-elf/group9.s: Correct argument of .type. - -2019-07-02 Nick Clifton - - PR 24753 - * emultempl/aarch64elf.em (_aarch64_add_stub_section): Include the - LINKER_CREATED section flag when creating the stub section. - -2019-07-02 Srinath Parvathaneni - - * testsuite/ld-arm/arm-elf.exp: Add tests. - * testsuite/ld-arm/cmse_main.s: New test. - * testsuite/ld-arm/cmse_main_sec_debug.d: Likewise. - * testsuite/ld-arm/cmse_sec_debug.s: Likewise. - -2019-07-01 Nick Clifton - - PR 23839 - * testsuite/ld-arm/unwind-4.d: Adjust for corrected calculation of - exidx relocs. - -2019-06-28 Alan Modra - - * testsuite/ld-powerpc/callstub-1.d, - * testsuite/ld-powerpc/callstub-1.s: New test. - * testsuite/ld-powerpc/callstub-2.d, - * testsuite/ld-powerpc/callstub-2.s: New test. - * testsuite/ld-powerpc/powerpc.exp: Run them. - -2019-06-25 Jan Beulich - - * plugin.c (get_lto_kind, get_lto_resolution, - get_lto_visibility): Rename "index" to "idx". - -2019-06-24 H.J. Lu - - PR ld/24721 - * testsuite/ld-x86-64/x86-64.exp: Run PR ld/24721 tests. - * testsuite/ld-x86-64/pr24721-x32.d: New file. - * testsuite/ld-x86-64/pr24721.d: Likewise. - * testsuite/ld-x86-64/pr24721.map: Likewise. - * testsuite/ld-x86-64/pr24721a.s: Likewise. - * testsuite/ld-x86-64/pr24721b.s: Likewise. - -2019-06-23 Alan Modra - - PR 24704 - * testsuite/ld-powerpc/elfv2exe.d: Update. - * testsuite/ld-powerpc/elfv2so.d: Update. - -2019-06-14 Szabolcs Nagy - - * testsuite/ld-aarch64/aarch64-elf.exp: Add emit-relocs-22 and -23. - * testsuite/ld-aarch64/emit-relocs-22.d: New test. - * testsuite/ld-aarch64/emit-relocs-22.s: New test. - * testsuite/ld-aarch64/emit-relocs-23.d: New test. - * testsuite/ld-aarch64/emit-relocs-23.s: New test. - -2019-06-14 Alan Modra - - * Makefile.in: Regenerate. - * configure: Regenerate. - -2019-06-14 Alan Modra - - PR 24662 - * testsuite/ld-alpha/tlsbin.rd: Update. - * testsuite/ld-alpha/tlsbinr.rd: Update. - * testsuite/ld-alpha/tlspic.rd: Update. - -2019-06-07 Maciej W. Rozycki - - * ld.texi (Options): Also document `-rpath' option restrictions - in the description of the option itself. - -2019-06-06 Sudakshina Das - - * testsuite/ld-aarch64/aarch64-elf.exp: Add new tests. - * testsuite/ld-aarch64/property-bti-pac4-a.d: New test. - * testsuite/ld-aarch64/property-bti-pac4-b.d: New test. - * testsuite/ld-aarch64/property-bti-pac4.s: New test. - -2019-06-06 Sudakshina Das - - * NEWS: Update options names. - * emultempl/aarch64elf.em (OPTION_FORCE_BTI, OPTION_PAC_PLT): Remove. - (PARSE_AND_LIST_LONGOPTS): Remove force-bti and pac-plt. - (PARSE_AND_LIST_OPTIONS): Update to -z. - (PARSE_AND_LIST_ARGS_CASE_Z_AARCH64): New. - (PARSE_AND_LIST_ARGS_CASE_Z): Add PARSE_AND_LIST_ARGS_CASE_Z_AARCH64. - (PARSE_AND_LIST_ARGS_CASES): Move cases for these options. - * testsuite/ld-aarch64/bti-pac-plt-1.d: Update option. - * testsuite/ld-aarch64/bti-pac-plt-2.d: Likewise. - * testsuite/ld-aarch64/bti-plt-1.d: Likewise. - * testsuite/ld-aarch64/bti-plt-2.d: Likewise. - * testsuite/ld-aarch64/bti-plt-3.d: Likewise. - * testsuite/ld-aarch64/bti-plt-4.d: Likewise. - * testsuite/ld-aarch64/bti-plt-6.d: Likewise. - * testsuite/ld-aarch64/bti-plt-7.d: Likewise. - * testsuite/ld-aarch64/bti-warn.d: Likewise. - * testsuite/ld-aarch64/pac-plt-1.d: Likewise. - * testsuite/ld-aarch64/pac-plt-2.d: Likewise. - -2019-05-30 Nick Clifton - - PR 24627 - * testsuite/ld-elf/ver_def.vd: Update expected output. - -2019-05-30 Alan Modra - - PR 24596 - * emulparams/m9s12zelf.sh (TEMPLATE_NAME): Set to generic. - (EXTRA_EM_FILE): Define to genelf. - * testsuite/lib/ld-lib.exp (uses_genelf): Add s12z. - -2019-05-30 Alan Modra - - * testsuite/lib/ld-lib.exp (run_ld_link_tests): Support procedure - calls in optional "xfail" args. - (run_ld_link_exec_tests): Likewise. - (is_generic): New. - (uses_genelf): Rename from is_generic_elf. Delete bogus semicolons. - * testsuite/ld-scripts/align.exp: Rename is_generic_elf call. - * testsuite/ld-elf/elf.exp: Use is_generic and uses_genelf. Delete - xfail_implib var. - * testsuite/ld-elf/sec64k.exp: Use is_generic. - * testsuite/ld-elf/shared.exp: Likewise. - * testsuite/ld-discard/extern.d: Use is_generic in xfail. - * testsuite/ld-discard/start.d: Likewise. - * testsuite/ld-discard/static.d: Likewise. - * testsuite/ld-elf/attributes.d: Likewise. - * testsuite/ld-elf/group1.d: Likewise. - * testsuite/ld-elf/group3b.d: Likewise. - * testsuite/ld-elf/group8a.d: Likewise. - * testsuite/ld-elf/group8b.d: Likewise. - * testsuite/ld-elf/group9a.d: Likewise. - * testsuite/ld-elf/group9b.d: Likewise. - * testsuite/ld-elf/linkonce2.d: Likewise. - * testsuite/ld-elf/merge2.d: Likewise. - * testsuite/ld-elf/merge3.d: Likewise. - * testsuite/ld-elf/pr12851.d: Likewise. - * testsuite/ld-elf/pr12975.d: Likewise. - * testsuite/ld-elf/pr13177.d: Likewise. - * testsuite/ld-elf/pr13195.d: Likewise. - * testsuite/ld-elf/pr17550c.d: Likewise. - * testsuite/ld-elf/pr17550d.d: Likewise. - * testsuite/ld-elf/pr17615.d: Likewise. - * testsuite/ld-elf/pr21562a.d: Likewise. - * testsuite/ld-elf/pr21562b.d: Likewise. - * testsuite/ld-elf/pr21562c.d: Likewise. - * testsuite/ld-elf/pr21562d.d: Likewise. - * testsuite/ld-elf/pr21562i.d: Likewise. - * testsuite/ld-elf/pr21562j.d: Likewise. - * testsuite/ld-elf/pr21562k.d: Likewise. - * testsuite/ld-elf/pr21562l.d: Likewise. - * testsuite/ld-elf/pr21562m.d: Likewise. - * testsuite/ld-elf/pr21562n.d: Likewise. - * testsuite/ld-elf/pr22677.d: Likewise. - * testsuite/ld-elf/pr22836-1a.d: Likewise. - * testsuite/ld-elf/pr22836-1b.d: Likewise. - * testsuite/ld-elf/warn3.d: Likewise. - * testsuite/ld-elf/warn1.d: Likewise and xfail sparc solaris - targets rather than notarget. - * testsuite/ld-elf/compressed1d.d: Use uses_genelf in xfail. - * testsuite/ld-elf/orphan-10.d: Likewise. - * testsuite/ld-elf/orphan-9.d: Likewise. - * testsuite/ld-elf/orphan-region.d: Likewise. - * testsuite/ld-elf/orphan.d: Likewise. - * testsuite/ld-elf/orphan3.d: Likewise. - * testsuite/ld-elf/pr20528a.d: Likewise. - * testsuite/ld-elf/pr20528b.d: Likewise. - * testsuite/ld-elf/pr23658-1a.d: Likewise. - * testsuite/ld-elf/pr23658-1b.d: Likewise. - * testsuite/ld-elf/pr349.d: Likewise. - * testsuite/ld-elf/warn2.d: Likewise and xfail sparc solaris - targets rather than notarget. - * testsuite/ld-elf/merge.d: Correct ms1-*-* to mt-*-*. - -2019-05-28 Faraz Shahbazker - - * testsuite/ld-mips-elf/undefweak-overflow.s: Remove test case - for pcrel_hi/pcrel_lo. - * testsuite/ld-mips-elf/undefweak-overflow.d: Update to match. - * testsuite/ld-mips-elf/reloc-pcrel-r6.s: New test source. - * testsuite/ld-mips-elf/reloc-pcrel-r6.d: New test linker script. - * testsuite/ld-mips-elf/reloc-pcrel-r6.ld: New test. - * testsuite/ld-mips-elf/mips-elf.exp: Run the new test. - -2019-05-28 Alan Modra - - PR 24596 - * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Check that - the output is coff before accessing coff tdata. - * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. - -2019-05-28 Szabolcs Nagy - - * testsuite/ld-aarch64/variant_pcs-now.d: Use --hash-style=sysv. - * testsuite/ld-aarch64/variant_pcs-shared.d: Likewise. - -2019-05-27 Alan Modra - - PR 24596 - * emultempl/genelf.em (gld${EMULATION_NAME}_after_open): Set - BFS_KEEP on group signature symbol. - -2019-04-24 Szabolcs Nagy - - * testsuite/ld-aarch64/aarch64-elf.exp: Add new tests. - * testsuite/ld-aarch64/variant_pcs-1.s: New asm for tests. - * testsuite/ld-aarch64/variant_pcs-2.s: New asm for tests. - * testsuite/ld-aarch64/variant_pcs-now.d: New test. - * testsuite/ld-aarch64/variant_pcs-r.d: New test. - * testsuite/ld-aarch64/variant_pcs-shared.d: New test. - * testsuite/ld-aarch64/variant_pcs.ld: New linker script for tests. - -2019-05-24 Alan Modra - - * po/BLD-POTFILES.in: Regenerate. - -2019-05-24 Alan Modra - - * testsuite/ld-powerpc/notoc2.d, - * testsuite/ld-powerpc/notoc2.s: New test. - * testsuite/ld-powerpc/powerpc.exp: Run it. - -2019-05-24 Alan Modra - - * testsuite/ld-powerpc/pcrelopt.s, - * testsuite/ld-powerpc/pcrelopt.d, - * testsuite/ld-powerpc/pcrelopt.sec: New test. - * testsuite/ld-powerpc/powerpc.exp: Run it. - -2019-05-23 Jose E. Marchesi - - * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64bpf.c. - * Makefile.in (prefix): Regenerate. - * configure.tgt (targ_extra_ofiles): Add case for bpf-*-* targets. - * emulparams/elf64bpf.sh: New file. - * testsuite/lib/ld-lib.exp (check_gc_sections_available): Add - bpf-*-* to the list of targets not supporting gc-sections. - * testsuite/ld-bpf/bar.s: New file. - * testsuite/ld-bpf/jump-1.d: Likewise. - * testsuite/ld-bpf/foo.s: Likewise. - * testsuite/ld-bpf/call-1.d: Likewise. - * testsuite/ld-bpf/bpf.exp: Likewise. - * testsuite/ld-bpf/baz.s: Likewise. - -2019-05-23 Alan Modra - - PR 24576 - * ldfile.c (enum script_open_style): New. - (struct script_name_list): New. - (ldfile_open_command_file_1): Take a script_open_style param - rather than booleans. Adjust callers. Only fail when -T or - default -T script is invoked twice. - (ldfile_try_open_bfd): Revert last change. - -2019-05-22 Julius Werner - Nick Clifton - - PR 24576 - * ld/ldfile.c: (ldfile_open_command_file_1): Add new parameter - - is_script. If true check that the file has not already been - parsed as a linker script. - (ldfile_open_script_file): New function. - (ldfile_try_open_bfd): Use the new function in place of - ldfile_open_command_line. - * ldmain.c (main): Likewise. - * lexsup.c (parse_args): Use the new function for opening linker - scripts with the -T option. - * ldfile.h (ldfile_open_script_file): Add prototype. - -2019-05-21 Faraz Shahbazker - - * testsuite/ld-mips-elf/pic-reloc-5.s: Add tests for - %tprel_hi and %tprel_lo relocations. - * testsuite/ld-mips-elf/pic-reloc-6.s: Likewise. - * testsuite/ld-mips-elf/pic-reloc-5.d: Update accordingly. - * testsuite/ld-mips-elf/pic-reloc-6.d: Likewise. - * testsuite/ld-mips-elf/pic-reloc-tls.ld: New test linker - script file. - -2019-05-21 Faraz Shahbazker - - * testsuite/ld-mips-elf/pic-reloc-5.d: New test. - * testsuite/ld-mips-elf/pic-reloc-6.d: New test. - * testsuite/ld-mips-elf/pic-reloc-7.d: New test. - * testsuite/ld-mips-elf/pic-reloc-5.s: New test source. - * testsuite/ld-mips-elf/pic-reloc-6.s: New test source. - * testsuite/ld-mips-elf/pic-reloc-7.s: New test source. - * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. - -2019-05-21 Matthew Fortune - Faraz Shahbazker - - * emultempl/mipself.em (compact_branches): New static variable. - (mips_create_output_section_statements): Call - _bfd_mips_elf_compact_branches. - (PARSE_AND_LIST_PROLOGUE): Add OPTION_COMPACT_BRANCHES and - OPTION_NO_COMPACT_BRANCHES. - (PARSE_AND_LIST_LONGOPTS): Add compact-branches, - no-compact-branches. - (PARSE_AND_LIST_OPTIONS): Add --compact-branches, - --no-compact-branches. - (PARSE_AND_LIST_ARGS_CASES): Handle the above. - * ld.texinfo: Document --compact-branches, --no-compact-branches. - * testsuite/ld-mips-elf/pic-and-nonpic-1-r6.dd: New test. - * testsuite/ld-mips-elf/pic-and-nonpic-1-r6.nd: New test. - * testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.dd: New test. - * testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.gd: New test. - * testsuite/ld-mips-elf/pic-and-nonpic-1a-r6.s: New test source. - * testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.s: New test source. - * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. - -2019-05-21 Andre Vieira - - * testsuite/ld-arm/arm-elf.exp: Add tests - * testsuite/ld-arm/bfs-0.s: New test. - * testsuite/ld-arm/bfs-1.s: New test. - * testsuite/ld-arm/branch-futures.d: New test. - -2019-05-21 Tamar Christina - - PR ld/24373 - * emultempl/aarch64elf.em (PARSE_AND_LIST_LONGOPTS): Add optional args - to flags. - * NEWS: Add changes to flag. - (PARSE_AND_LIST_OPTIONS): Update help descriptions. - (PARSE_AND_LIST_ARGS_CASES): Add new options to parser. - * testsuite/ld-aarch64/aarch64-elf.exp: Add new run_dump_tests. - * testsuite/ld-aarch64/erratum843419-adr.d: New test. - * testsuite/ld-aarch64/erratum843419-adrp.d: New test. - * testsuite/ld-aarch64/erratum843419-far-adr.d: New test. - * testsuite/ld-aarch64/erratum843419-far-full.d: New test. - * testsuite/ld-aarch64/erratum843419-far.s: New test. - * testsuite/ld-aarch64/erratum843419-full.d: New test. - * testsuite/ld-aarch64/erratum843419-near.s: New test. - * testsuite/ld-aarch64/erratum843419-no-args.d: New test. - -2019-05-21 Senthil Kumar Selvaraj - - PR ld/24571 - * ld/testsuite/ld-avr/relax-insn-at-range-boundary.d: New test. - * ld/testsuite/ld-avr/relax-insn-at-range-boundary.s: New test. - -2019-05-21 Senthil Kumar Selvaraj - - PR ld/24564 - * testsuite/ld-avr/wraparound-range-boundary.d: New test. - * testsuite/ld-avr/wraparound-range-boundary.s: New test. - -2019-05-20 Faraz Shahbazker - - PR 14798 - * testsuite/ld-mips-elf/reloc-6a.s: Specify .text section for - global code symbols. - * testsuite/ld-mips-elf/reloc-6b.s: Likewise. - -2019-05-17 Alan Modra - - PR 24567 - * plugin.c (plugin_notice): Do not let a common symbol override - a non-common definition in IR. - -2019-05-09 Dimitar Dimitrov - - * scripttempl/pru.sc (__init_array_begin, __init_array_begin): - Rename. - -2019-05-08 Pekka Seppänen - - PR 24536 - * ldbuildid.c (generate_build_id): Cast return value from - GetProcAddress in order to avoid a compile time warning. - -2019-05-06 Alan Modra - - * testsuite/ld-undefined/weak-undef.exp: Don't xfail pj. - -2019-05-04 Alan Modra - - * testsuite/ld-scripts/fill.d: Don't xfail m32c - * testsuite/ld-scripts/fill16.d: Likewise. - -2019-05-04 Alan Modra - - PR 24511 - * testsuite/ld-elf/pr14156a.d: Allow for .init/.fini being a - data section on hppa64. - * testsuite/ld-elf/pr14156b.d: Likewise. - * testsuite/ld-scripts/pr18963.t: Map standard sections to set - output section flags. - * testsuite/ld-scripts/sane1.t: Likewise. - * testsuite/ld-elf/init-fini-arrays.s: Reference __init_array_start - and __fini_array_start. Define __start et al. - * testsuite/ld-elf/pr24511.d: New test. - -2019-04-30 Alan Modra - - * testsuite/ld-powerpc/elfv2exe.d: Update. - * testsuite/ld-powerpc/elfv2so.d: Update. - * testsuite/ld-powerpc/tocopt.d: Update. - * testsuite/ld-powerpc/tocopt.s: Update. - * testsuite/ld-powerpc/tocopt5.d: Update. - * testsuite/ld-powerpc/tocopt5.s: Update. - * testsuite/ld-powerpc/tocopt7.d: Update. - * testsuite/ld-powerpc/tocopt7.s: Update. - * testsuite/ld-powerpc/tocopt8.d: Update. - * testsuite/ld-powerpc/tocopt8.s: Update. - -2019-04-30 Alan Modra - - * ld.texi (How GNU properties are merged): Avoid pod2man error. - Correct example. - -2019-04-26 H.J. Lu - - PR ld/24486 - * testsuite/ld-plugin/lto.exp: Run PR ld/24486 tests. - * testsuite/ld-plugin/pr24486a.c: New file. - * testsuite/ld-plugin/pr24486b.c: Likewise. - * testsuite/ld-plugin/pr24486c.c: Likewise. - -2019-04-26 Nick Clifton - - * po/ru.po: Updated Russian translation. - -2019-04-26 Christopher Yeleighton - - * ld.texi: Properly hyphenate the word "specific". - -2019-04-25 H.J. Lu - - PR ld/24406 - * ld.texi: Remove LTO warning from --wrap. - * plugin.c (get_symbols): Update resolution for wrapper and - wrapped symbols. - * testsuite/ld-plugin/lto.exp: Run ld/24406 tests. - * testsuite/ld-plugin/pr24406-1.c: New file. - * testsuite/ld-plugin/pr24406-2a.c: Likewise. - * testsuite/ld-plugin/pr24406-2b.c: Likewise. - -2019-04-25 Sudakshina Das - - * testsuite/ld-aarch64/bti-pac-plt-1.d: Update. - * testsuite/ld-aarch64/bti-pac-plt-2.d: Update. - * testsuite/ld-aarch64/bti-plt-1.d: Update. - * testsuite/ld-aarch64/bti-plt-3.d: Update. - * testsuite/ld-aarch64/bti-plt-5.d: Update. - * testsuite/ld-aarch64/pac-plt-1.d: Update. - * testsuite/ld-aarch64/pac-plt-2.d: Update. - -2019-04-24 Sandra Loosemore - - * testsuite/config/default.exp: Use [check_compiler_available] - instead of [which $CC]. - * testsuite/ld-auto-import/auto-import.exp: Likewise. - * testsuite/ld-cygwin/exe-export.exp: Likewise. - * testsuite/ld-elf/audit.exp: Likewise. - * testsuite/ld-elf/compress.exp: Likewise. - * testsuite/ld-elf/dwarf.exp: Likewise. - * testsuite/ld-elf/elf.exp: Likewise. - * testsuite/ld-elf/indirect.exp: Likewise. - * testsuite/ld-elf/linux-x86.exp: Likewise. - * testsuite/ld-elf/shared.exp: Likewise. - * testsuite/ld-elf/tls.exp: Likewise. - * testsuite/ld-elf/wrap.exp: Likewise. - * testsuite/ld-elfcomm/elfcomm.exp: Likewise. - * testsuite/ld-elfvers/vers.exp: Likewise. - * testsuite/ld-elfvsb/elfvsb.exp: Likewise. - * testsuite/ld-elfweak/elfweak.exp: Likewise. - * testsuite/ld-gc/gc.exp: Likewise. - * testsuite/ld-i386/i386.exp: Likewise. - * testsuite/ld-i386/no-plt.exp: Likewise. - * testsuite/ld-i386/tls.exp: Likewise. - * testsuite/ld-ifunc/ifunc.exp: Likewise. - * testsuite/ld-mn10300/mn10300.exp: Likewise. - * testsuite/ld-pe/pe-compile.exp: Likewise. - * testsuite/ld-pe/pe-run.exp: Likewise. - * testsuite/ld-pe/pe-run2.exp: Likewise. - * testsuite/ld-pie/pie.exp: Likewise. - * testsuite/ld-plugin/lto.exp: Likewise. - * testsuite/ld-plugin/plugin.exp: Likewise. - * testsuite/ld-scripts/crossref.exp: Likewise. - * testsuite/ld-sh/sh.exp: Likewise. - * testsuite/ld-shared/shared.exp: Likewise. - * testsuite/ld-size/size.exp: Likewise. - * testsuite/ld-srec/srec.exp: Likewise. - * testsuite/ld-undefined/undefined.exp: Likewise. - * testsuite/ld-unique/unique.exp: Likewise. - * testsuite/ld-x86-64/mpx.exp: Likewise. - * testsuite/ld-x86-64/no-plt.exp: Likewise. - * testsuite/ld-x86-64/tls.exp: Likewise. - * testsuite/ld-x86-64/x86-64.exp: Likewise. - * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Call - check_compiler_available before trying to use the compiler. - (run_cc_link_tests): Likewise. - (check_compiler_available): New. Use it instead of [which $CC]. - -2019-04-23 Alan Modra - - * Makefile.am (GENDEPDIR): New var, used.. - (GENSCRIPTS): ..here. - * Makefile.in: Regenerate. - * genscripts.sh: Test for $DEPDIR set before every use. - -2019-04-22 Matthew Fortune - - * testsuite/ld-mips-elf/mips-elf-flags.exp: Fix expected ASEs - for M5100. - -2019-04-19 Alan Modra - - * testsuite/ld-gc/skip-map-discarded.s: Add section attributes. - * testsuite/lib/ld-lib.exp (check_gc_sections_available): Add - s12z to list of targets not supporting --gc-sections. - -2019-04-17 H.J. Lu - - * testsuite/ld-i386/i386.exp: Run pr18801a and pr18801b instead - of pr18801. - * testsuite/ld-x86-64/x86-64.exp: Likewise. - * testsuite/ld-i386/pr18801.d: Removed. - * testsuite/ld-x86-64/pr18801.d: Likewise. - * testsuite/ld-i386/pr18801a.d: New file. - * testsuite/ld-i386/pr18801b.d: Likewise. - * testsuite/ld-x86-64/pr18801a.d: Likewise. - * testsuite/ld-x86-64/pr18801b.d: Likewise. - * testsuite/ld-x86-64/pie2.d: Suggest -fPIE instead of -fPIC. - * testsuite/ld-x86-64/pie2.d: Likewise. - * testsuite/ld-x86-64/pr19719.d: Likewise. - * testsuite/ld-x86-64/pr19807-2a.d: Likewise. - * testsuite/ld-x86-64/pr19969.d: Likewise. - * testsuite/ld-x86-64/pr21997-1a.err: Likewise. - * testsuite/ld-x86-64/pr21997-1b.err: Likewise. - * testsuite/ld-x86-64/pr22001-1a.err: Likewise. - * testsuite/ld-x86-64/pr22001-1b.err: Likewise. - * testsuite/ld-x86-64/pr22791-1.err: Likewise. - -2019-04-17 H.J. Lu - - PR ld/24458 - * testsuite/ld-x86-64/x86-64.exp: Run PR ld/24458 tests. - * testsuite/ld-x86-64/pr24458.s: New file. - * testsuite/ld-x86-64/pr24458a-x32.d: Likewise. - * testsuite/ld-x86-64/pr24458a.d: Likewise. - * testsuite/ld-x86-64/pr24458b-x32.d: Likewise. - * testsuite/ld-x86-64/pr24458b.d: Likewise. - * testsuite/ld-x86-64/pr24458c-x32.d: Likewise. - * testsuite/ld-x86-64/pr24458c.d: Likewise. - -2019-04-17 Jozef Lawrynowicz - - * config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss - symbol when .lower.bss or .either.bss sections exist. - Define __crt0_movedata when .lower.data or .either.data sections exist. - * testsuite/gas/msp430/either-data-bss-sym.d: New test. - * testsuite/gas/msp430/low-data-bss-sym.d: New test. - * testsuite/gas/msp430/either-data-bss-sym.s: New test source. - * testsuite/gas/msp430/low-data-bss-sym.s: New test source. - * testsuite/gas/msp430/msp430.exp: Run new tests. - Enable large code model when running -mdata-region={upper,either} - tests. - -2019-04-16 Alan Modra - - * testsuite/ld-scripts/pr20302.d: Don't run for ns32k-*-*. - * testsuite/ld-scripts/section-match-1.d: Likewise. - * testsuite/ld-undefined/require-defined.exp: Likewise. - -2019-04-15 Faraz Shahbazker - - * testsuite/ld-gc/gc.exp: Skip print-map-discarded test for non-ELF - targets. - -2019-04-15 Sudakshina Das - - * testsuite/ld-arm/bfcsel.s: New. - * testsuite/ld-arm/bfcsel.d: New. - * testsuite/ld-arm/arm-elf.exp: Add above test. - -2019-04-15 Sudakshina Das - - * testsuite/ld-arm/bfl.s: New. - * testsuite/ld-arm/bfl.d: New. - * testsuite/ld-arm/arm-elf.exp: Add above test. - -2019-04-15 Sudakshina Das - - * testsuite/ld-arm/bf.s: New. - * testsuite/ld-arm/bf.d: New. - * testsuite/ld-arm/arm-elf.exp: Add above test. - -2019-04-15 Thomas Preud'homme - - * testsuite/ld-arm/attr-merge-13.attr: New test. - * testsuite/ld-arm/attr-merge-13a.s: New test. - * testsuite/ld-arm/attr-merge-13b.s: New test. - -2019-04-13 Alan Modra - - * Makefile.am (GENSCRIPTS): Pass LIB_PATH as a parameter. Add - DEPDIR parameter. - (ELF_DEPS, ELF_GEN_DEPS, ELF_X86_DEPS): Delete. - (ALL_EMULATION_SOURCES, ALL_64_EMULATION_SOURCES): Depend on - $GEN_DEPENDS. - (e*.c): Delete all dependencies, instead include dependencies - from $DEPDIR/*.Pc. - * Makefile.in: Regenerate. - * configure.ac (source_sh): Define and use function. - * configure: Regenerate. - * emulparams/aarch64cloudabib.sh, * emulparams/aarch64elf32b.sh, - * emulparams/aarch64elfb.sh, * emulparams/aarch64fbsdb.sh, - * emulparams/aarch64linux32b.sh, * emulparams/aarch64linuxb.sh, - * emulparams/arcelf.sh, * emulparams/arcelf_prof.sh, - * emulparams/arclinux.sh, * emulparams/arclinux_nps.sh, - * emulparams/arclinux_prof.sh, * emulparams/arcv2elf.sh, - * emulparams/arcv2elfx.sh, * emulparams/armelf_fbsd.sh, - * emulparams/armelf_linux_eabi.sh, - * emulparams/armelf_linux_fdpiceabi.sh, - * emulparams/armelf_nacl.sh, * emulparams/armelf_nbsd.sh, - * emulparams/armelf_vxworks.sh, * emulparams/armelfb.sh, - * emulparams/armelfb_fbsd.sh, * emulparams/armelfb_fuchsia.sh, - * emulparams/armelfb_linux.sh, * emulparams/armelfb_linux_eabi.sh, - * emulparams/armelfb_linux_fdpiceabi.sh, - * emulparams/armelfb_nacl.sh, * emulparams/armelfb_nbsd.sh, - * emulparams/armsymbian.sh, * emulparams/cskyelf_linux.sh, - * emulparams/elf32_sparc_sol2.sh, - * emulparams/elf32_sparc_vxworks.sh, * emulparams/elf32_tic6x_be.sh, - * emulparams/elf32_tic6x_elf_be.sh, - * emulparams/elf32_tic6x_elf_le.sh, - * emulparams/elf32_tic6x_linux_be.sh, - * emulparams/elf32_tic6x_linux_le.sh, - * emulparams/elf32_x86_64.sh, * emulparams/elf32_x86_64_nacl.sh, - * emulparams/elf32b4300.sh, * emulparams/elf32bfinfd.sh, - * emulparams/elf32bmipn32.sh, * emulparams/elf32bsmip.sh, - * emulparams/elf32btsmip.sh, * emulparams/elf32btsmip_fbsd.sh, - * emulparams/elf32btsmipn32.sh, * emulparams/elf32btsmipn32_fbsd.sh, - * emulparams/elf32ebmip.sh, * emulparams/elf32ebmipvxworks.sh, - * emulparams/elf32elmip.sh, * emulparams/elf32elmipvxworks.sh, - * emulparams/elf32frvfd.sh, * emulparams/elf32l4300.sh, - * emulparams/elf32lm32fd.sh, * emulparams/elf32lmip.sh, - * emulparams/elf32lppc.sh, * emulparams/elf32lppclinux.sh, - * emulparams/elf32lppcnto.sh, * emulparams/elf32lppcsim.sh, - * emulparams/elf32lr5900.sh, * emulparams/elf32lr5900n32.sh, - * emulparams/elf32lriscv.sh, * emulparams/elf32lriscv_ilp32.sh, - * emulparams/elf32lriscv_ilp32f.sh, * emulparams/elf32lsmip.sh, - * emulparams/elf32ltsmip.sh, * emulparams/elf32ltsmip_fbsd.sh, - * emulparams/elf32ltsmipn32.sh, * emulparams/elf32ltsmipn32_fbsd.sh, - * emulparams/elf32microblazeel.sh, * emulparams/elf32or1k_linux.sh, - * emulparams/elf32ppc.sh, * emulparams/elf32ppc_fbsd.sh, - * emulparams/elf32ppccommon.sh, * emulparams/elf32ppclinux.sh, - * emulparams/elf32ppcnto.sh, * emulparams/elf32ppcsim.sh, - * emulparams/elf32ppcvxworks.sh, * emulparams/elf32ppcwindiss.sh, - * emulparams/elf32tilegx_be.sh, * emulparams/elf64_ia64_fbsd.sh, - * emulparams/elf64_sparc_fbsd.sh, * emulparams/elf64_sparc_sol2.sh, - * emulparams/elf64alpha_fbsd.sh, * emulparams/elf64alpha_nbsd.sh, - * emulparams/elf64bmip-defs.sh, * emulparams/elf64bmip.sh, - * emulparams/elf64btsmip.sh, * emulparams/elf64btsmip_fbsd.sh, - * emulparams/elf64lppc.sh, * emulparams/elf64lriscv-defs.sh, - * emulparams/elf64lriscv.sh, * emulparams/elf64lriscv_lp64.sh, - * emulparams/elf64lriscv_lp64f.sh, * emulparams/elf64ltsmip.sh, - * emulparams/elf64ltsmip_fbsd.sh, * emulparams/elf64ppc.sh, - * emulparams/elf64ppc_fbsd.sh, * emulparams/elf64rdos.sh, - * emulparams/elf64tilegx_be.sh, * emulparams/elf_i386.sh, - * emulparams/elf_i386_be.sh, * emulparams/elf_i386_fbsd.sh, - * emulparams/elf_i386_ldso.sh, * emulparams/elf_i386_nacl.sh, - * emulparams/elf_i386_sol2.sh, * emulparams/elf_i386_vxworks.sh, - * emulparams/elf_iamcu.sh, * emulparams/elf_k1om.sh, - * emulparams/elf_k1om_fbsd.sh, * emulparams/elf_l1om.sh, - * emulparams/elf_l1om_fbsd.sh, * emulparams/elf_x86_64.sh, - * emulparams/elf_x86_64_cloudabi.sh, - * emulparams/elf_x86_64_fbsd.sh, * emulparams/elf_x86_64_nacl.sh, - * emulparams/elf_x86_64_sol2.sh, * emulparams/h8300helf.sh, - * emulparams/h8300helf_linux.sh, * emulparams/h8300hnelf.sh, - * emulparams/h8300self.sh, * emulparams/h8300self_linux.sh, - * emulparams/h8300snelf.sh, * emulparams/h8300sxelf.sh, - * emulparams/h8300sxelf_linux.sh, * emulparams/h8300sxnelf.sh, - * emulparams/hppanbsd.sh, * emulparams/hppaobsd.sh, - * emulparams/m32rlelf.sh, * emulparams/m32rlelf_linux.sh, - * emulparams/m68kelfnbsd.sh, * emulparams/mn10300.sh, - * emulparams/msp430X.sh, * emulparams/nds32belf.sh, - * emulparams/nds32belf16m.sh, * emulparams/nds32belf_linux.sh, - * emulparams/pjlelf.sh, * emulparams/ppclynx.sh, - * emulparams/score7_elf.sh, * emulparams/shelf_fd.sh, - * emulparams/shelf_linux.sh, * emulparams/shelf_nbsd.sh, - * emulparams/shelf_uclinux.sh, * emulparams/shelf_vxworks.sh, - * emulparams/shl.sh, * emulparams/shlelf.sh, - * emulparams/shlelf_fd.sh, * emulparams/shlelf_nbsd.sh, - * emulparams/shlelf_vxworks.sh: Use source_sh. - * genscripts.sh: Adjust for changed parameters. Emit dependencies - for e*.c to .deps/*.Pc. - (source_sh): New function, use it throughout to source scripts. - * genscrba.sh (source_em): Use source_sh. - -2019-04-13 Alan Modra - - * configure.ac (TDIRS): Build up tdirs in this variable and - AC_SUBST, also using AM_SUBST_NOTMAKE. - * configure: Regenerate. - * Makefile.am (DISTCLEANFILES): Remove tdirs. - * Makefile.in: Regenerate. - -2019-04-12 Nick Clifton - - PR 24450 - * ld.texi (Output Section Attributes): Add ALIGN_WITH_INPUT to - example of section attributes. - -2019-04-11 Faraz Shahbazker - - * NEWS: Mention new option --no-print-map-discarded. - * ld.h (ld_config_type) : New field. - * ldlang.c (lang_map): Conditionally output discarded sections - in map files based on configuration option. - * ldlex.h (option_values) : New. - * ldmain.c (main): Enabled print_map_discarded by default. - * lexsup.c (ld_options): Add new command-line options. - (parse_args) : New cases. - * ld.texi: Document new options. - * testsuite/ld-gc/gc.exp: Add new test. - * testsuite/ld-gc/skip-map-discarded.s: New file. - * testsuite/ld-gc/skip-map-discarded.d: New file. - * testsuite/ld-gc/skip-map-discarded.map: New file. - -2019-04-11 H.J. Lu - - * ld.texi: Document -z cet-report=[none|warning|error]. - * emulparams/cet.sh: Add -z cet-report=[none|warning|error]. - * testsuite/ld-i386/i386.exp: Run -z cet-report=[warning|error] - tests. - * testsuite/ld-x86-64/x86-64.exp: Likewise. - * testsuite/ld-i386/property-x86-cet1.d: New file. - * testsuite/ld-i386/property-x86-cet2a.d: Likewise. - * testsuite/ld-i386/property-x86-cet2b.d: Likewise. - * testsuite/ld-i386/property-x86-cet3a.d: Likewise. - * testsuite/ld-i386/property-x86-cet3b.d: Likewise. - * testsuite/ld-i386/property-x86-cet4a.d: Likewise. - * testsuite/ld-i386/property-x86-cet4b.d: Likewise. - * testsuite/ld-i386/property-x86-cet5a.d: Likewise. - * testsuite/ld-i386/property-x86-cet5b.d: Likewise. - * testsuite/ld-i386/property-x86-cet6.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet.s: Likewise. - * testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet1.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet2a.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet2b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet2b.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet3a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet3a.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet3b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet3b.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet4a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet4a.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet4b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet4b.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet5a.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet5b.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet6-x32.d: Likewise. - * testsuite/ld-x86-64/property-x86-cet6.d: Likewise. - -2019-04-11 H.J. Lu - - * testsuite/config/default.exp (STATIC_PIE_LDFLAGS): New. Set - to "-static-pie" if target compiler supports it. - * testsuite/ld-elf/elf.exp: Run -static-pie tests if - $STATIC_PIE_LDFLAGS isn't empty. - * testsuite/ld-ifunc/ifunc.exp: Likewise. - -2019-04-11 Tamar Christina - - PR ld/24302 - * testsuite/ld-aarch64/aarch64-elf.exp: Add new test. - * testsuite/ld-aarch64/tls-relax-gdesc-le-now.d: New test. - -2019-04-10 H.J. Lu - - * scripttempl/elf.sc (CREATE_PIC): New. Set for CREATE_SHLIB or - CREATE_PIE. - (__rel_iplt_start): Don't define for CREATE_PIC. - (__rel_iplt_end): Likewise. - (__rela_iplt_start): Likewise. - (__rela_iplt_end): Likewise. - -2019-04-10 Alan Modra - - * testsuite/ld-elf/shared.exp: Don't xfail PR ld/20995 for - powerpc-nto. - -2019-04-10 Alan Modra - - * emultempl/cskyelf.em (csk_elf_before_parse): New function, - setting use_branch_stub false for linux. - (csky_elf_create_output_section_statements): Do emit this - function and all others in the file for linux, plus the branch - option control. Disable branch stubs when non-ELF. - -2019-04-10 Alan Modra - - * Makefile.am (eskyelf.c, eskyelf_linux.c): Depend on cskyelf.em. - (ecskyelf_linux.c): Depend on cskyelf.sh. - (eelf32microblazeel.c): Depend on elf32microblaze.sh. - * Makefile.in: Regenerate. - * emulparams/cskyelf.sh: Comment regarding cskelf_linux.sh. - (PAGE_SIZE): Don't define. - * emulparams/cskyelf_linux.sh: Source sckyelf.sh, leaving just - the differing variable defs/undefs. - * emulparams/elf32mcore.sh (PAGE_SIZE): Don't define. - * emulparams/elf32microblaze.sh: Comment re. elf32microblazeel.sh. - (OUTPUT_FORMAT): Use BIG_OUTPUT_FORMAT. - (PAGE_SIZE): Don't define. - * emulparams/elf32microblazeel.sh: Source elf32microblaze.sh, - leaving just the differing OUTPUT_FORMAT. - -2019-04-10 Alan Modra - - * po/BLD-POTFILES.in: Regenerate. - -2019-04-08 H.J. Lu - - * testsuite/ld-elf/shared.exp: XFAIL PR ld/20995 tests for - lynxos and nto targets. - -2019-04-08 H.J. Lu - - * Makefile.am (ALL_EMULATION_SOURCES): Remove eelf_i386_chaos.c. - (eelf_i386_chaos.c): Removed. - * Makefile.in: Regenerated. - * configure.tgt: Remove i[3-7]86-*-kaos*. - * emulparams/elf_i386_chaos.sh: Removed. - -2019-04-08 H.J. Lu - - * emulparams/elf_i386_be.sh (EXTRA_EM_FILE): New. - * emulparams/i386moss.sh (EXTRA_EM_FILE): Likewise. - -2019-04-08 Alan Modra - - * emulparams/elf64rdos.sh (EXTRA_EM_FILE): Define. - * emulparams/i386lynx.sh (EXTRA_EM_FILE): Define. - * emulparams/i386nto.sh (EXTRA_EM_FILE): Define. - -2019-04-06 H.J. Lu - - * Makefile.am (ELF_X86_DEPS): Add $(srcdir)/emultempl/elf-x86.em. - (eelf_i386_sol2.c): Also depend on - $(srcdir)/emultempl/solaris2-x86.em. - (eelf_x86_64_sol2.c): Likewise. - * Makefile.in: Regenerated. - * emulparams/call_nop.sh: Set x86-specific linker options via - params. - * emulparams/cet.sh: Likewise. - * emulparams/reloc_overflow.sh: Likewise. - * emulparams/elf32_x86_64.sh (EXTRA_EM_FILE): New. Set to - "elf-x86". - * emulparams/elf_i386.sh: Likewise. - * emulparams/elf_i386_be.sh: Likewise. - * emulparams/elf_i386_chaos.sh: Likewise. - * emulparams/elf_i386_ldso.sh: Likewise. - * emulparams/elf_i386_vxworks.sh: Likewise. - * emulparams/elf_iamcu.sh: Likewise. - * emulparams/elf_k1om.sh: Likewise. - * emulparams/elf_l1om.sh: Likewise. - * emulparams/elf_x86_64.sh: Likewise. - * emulparams/elf_i386_sol2.sh (EXTRA_EM_FILE): Changed to - "solaris2-x86". - * emulparams/elf_x86_64_sol2.sh: Likewise. - * emultempl/elf-x86.em: New file. - * emultempl/solaris2-x86.em: Likewise. - * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Don't - set link_info.call_nop_byte. - -2019-04-05 Alan Modra - - * testsuite/ld-powerpc/tlsexe32.d: Remove trailing spaces. - * testsuite/ld-powerpc/tlsopt5.d: Likewise. - * testsuite/ld-powerpc/tlsopt5_32.d: Likewise. - -2019-04-03 Alan Modra - - PR 24411 - ldlex.l (SYMBOLNAMECHAR1): Don't match '/'. - ("/DISCARD/"): New. - -2019-04-03 Alan Modra - - * ldlex.l: Formatting. - (CMDFILENAMECHAR, CMDFILENAMECHAR1): Delete. - (FILENAMECHAR1, SYMBOLNAMECHAR1, FILENAMECHAR, WILDCHAR), - (NOCFILENAMECHAR): Remove duplicate chars. Reorder. - (SYMBOLCHARN): Likewise. Rename to SYMBOLNAMECHAR. - ("$SYSROOT"..): Delete rule. - -2019-03-29 Max Filippov - - * testsuite/ld-xtensa/relax-undef-weak-pie-export-dynamic.d: New - test definition. - * testsuite/ld-xtensa/xtensa.exp - (relax-undef-weak-pie-export-dynamic): Add new test. - -2019-03-26 Martin Liska - - * plugin.c (get_symbols): Add lto_kind_str, lto_resolution_str, - lto_visibility_str and use then to inform about plugin-symbols. - * testsuite/ld-plugin/plugin-12.d: Adjust expected pattern. - -2019-03-25 Tamar Christina - - * testsuite/ld-arm/jump-reloc-veneers-cond-long.d: Update disassembly. - * testsuite/ld-arm/jump-reloc-veneers-long.d: Update disassembly. - -2019-03-21 Sudakshina Das - - * testsuite/ld-aarch64/aarch64-elf.exp: Add new test. - * testsuite/ld-aarch64/bti-plt-1.s: Add .ifdef for PAC note section. - * testsuite/ld-aarch64/bti-plt-6.d: Update warning. - * testsuite/ld-aarch64/bti-plt-7.d: Likewise. - * testsuite/ld-aarch64/bti-warn.d: New test. - -2019-03-21 Alan Modra - - * testsuite/ld-elf/fini2.s: Reduce alignment. - * testsuite/ld-elf/fini3.s: Likewise. - * testsuite/ld-elf/finin.s: Likewise. - * testsuite/ld-elf/init2.s: Likewise. - * testsuite/ld-elf/init3.s: Likewise. - * testsuite/ld-elf/initn.s: Likewise. - * testsuite/ld-elf/pr14156a.d: Don't xfail m68hc1*-* or xgate-*. - * testsuite/ld-elf/pr14156b.d: Don't xfail xgate-*. - -2019-03-21 Alan Modra - - * scripttempl/alpha.sc, * scripttempl/armbpabi.sc, - * scripttempl/crisaout.sc, * scripttempl/elf32cr16.sc, - * scripttempl/elf32crx.sc, * scripttempl/elf32xc16x.sc, - * scripttempl/elf32xc16xl.sc, * scripttempl/elf32xc16xs.sc, - * scripttempl/elf64hppa.sc, * scripttempl/elf_chaos.sc, - * scripttempl/elfarc.sc, * scripttempl/elfarcv2.sc, - * scripttempl/elfd30v.sc, * scripttempl/elfm68hc11.sc, - * scripttempl/elfm68hc12.sc, * scripttempl/elfm9s12z.sc, - * scripttempl/elfmicroblaze.sc, * scripttempl/elfxgate.sc, - * scripttempl/elfxtensa.sc, * scripttempl/epiphany_4x4.sc, - * scripttempl/ft32.sc, * scripttempl/i386beos.sc, - * scripttempl/iq2000.sc, * scripttempl/mcorepe.sc, - * scripttempl/mep.sc, * scripttempl/mips.sc, * scripttempl/moxie.sc, - * scripttempl/pe.sc, * scripttempl/pep.sc, * scripttempl/ppcpe.sc, - * scripttempl/tic4xcoff.sc, * scripttempl/tic80coff.sc, - * scripttempl/v850.sc, * scripttempl/v850_rh850.sc, - * scripttempl/visium.sc, * scripttempl/xstormy16.sc: Add KEEP and - SORT_NONE to .init and .fini wildcards. - * scripttempl/elf32xc16x.sc, - * scripttempl/elf32xc16xl.sc, - * scripttempl/elf32xc16xs.sc: Add .fini wildcard. - * scripttempl/elf_chaos.sc: Add .init output section. - * scripttempl/elfd30v.sc: Remove duplicate .init. - * scripttempl/elfm68hc11.sc, * scripttempl/elfm68hc12.sc, - * scripttempl/elfm9s12z.sc, * scripttempl/elfxgate.sc: Remove - duplicate .init, and add .fini wildcard. - * scripttempl/ppcpe.sc (INIT, FINI): Delete. - * ldlang.c (update_wild_statements): Special case .init and - .fini in the wildcard, not the output section. - -2019-03-21 Alan Modra - - * emulparams/elf32lm32fd.sh (DYNAMIC_LINK): Undef. - -2019-03-21 Alan Modra - - * ldlang.c (lang_size_sections_1): Set SEC_KEEP on - create_object_symbols_section. - * testsuite/ld-elf/pr22319.d: Don't xfail dlx. - -2019-03-18 Alan Modra - - * testsuite/ld-elf/merge.d: Remove csky from xfails, add moxie. - * testsuite/ld-elf/pr21884.d: Remove csky from xfails. - * testsuite/ld-elf/shared.exp: Add csky to list not xfailing pr22374. - * testsuite/ld-unique/pr21529.d: Remove csky from xfails - -2019-03-15 Nick Clifton - - PR 24262 - * ld.texi (-plugin): Correct the path used to locate linker - plugins. - -2019-03-13 Sudakshina Das - - * NEWS: Document --pac-plt. - * emultempl/aarch64elf.em (OPTION_PAC_PLT): New. - (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add pac-plt. - (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_PAC_PLT. - * testsuite/ld-aarch64/aarch64-elf.exp: Add the following tests. - * testsuite/ld-aarch64/bti-pac-plt-1.d: New test. - * testsuite/ld-aarch64/bti-pac-plt-2.d: New test. - * testsuite/ld-aarch64/pac-plt-1.d: New test. - * testsuite/ld-aarch64/pac-plt-2.d: New test. - * testsuite/ld-aarch64/bti-plt-1.s: Add .ifndef directive. - -2019-03-13 Sudakshina Das - Szabolcs Nagy - - * NEWS: Document --force-bti. - * emultempl/aarch64elf.em (plt_type, bti_type, OPTION_FORCE_BTI): New. - (PARSE_AND_LIST_SHORTOPTS, PARSE_AND_LIST_OPTIONS): Add force-bti. - (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_FORCE_BTI. - * testsuite/ld-aarch64/aarch64-elf.exp: Add all the tests below. - * testsuite/ld-aarch64/bti-plt-1.d: New test. - * testsuite/ld-aarch64/bti-plt-1.s: New test. - * testsuite/ld-aarch64/bti-plt-2.d: New test. - * testsuite/ld-aarch64/bti-plt-3.d: New test. - * testsuite/ld-aarch64/bti-plt-4.d: New test. - * testsuite/ld-aarch64/bti-plt-5.d: New test. - * testsuite/ld-aarch64/bti-plt-6.d: New test. - * testsuite/ld-aarch64/bti-plt-7.d: New test. - * testsuite/ld-aarch64/bti-plt-so.s: New test. - * testsuite/ld-aarch64/bti-plt.ld: New test. - -2019-03-13 Sudakshina Das - - * NEWS: Document GNU_PROPERTY_AARCH64_FEATURE_1_BTI and - GNU_PROPERTY_AARCH64_FEATURE_1_PAC. - * testsuite/ld-aarch64/aarch64-elf.exp: Add run commands for new tests. - * testsuite/ld-aarch64/property-bti-pac1.d: New test. - * testsuite/ld-aarch64/property-bti-pac1.s: New test. - * testsuite/ld-aarch64/property-bti-pac2.d: New test. - * testsuite/ld-aarch64/property-bti-pac2.s: New test. - * testsuite/ld-aarch64/property-bti-pac3.d: New test. - -2019-03-13 H.J. Lu - - PR ld/24322 - * testsuite/ld-i386/i386.exp: Run PR ld/24322 tests. - * testsuite/ld-x86-64/x86-64.exp: Likewise. - * testsuite/ld-i386/pr24322a.d: New file. - * testsuite/ld-i386/pr24322b.d: Likewise. - * testsuite/ld-x86-64/pr24322a-x32.d: Likewise. - * testsuite/ld-x86-64/pr24322a.d: Likewise. - * testsuite/ld-x86-64/pr24322b-x32.d: Likewise. - * testsuite/ld-x86-64/pr24322b.d: Likewise. - * testsuite/ld-x86-64/pr24322a.s: Likewise. - * testsuite/ld-x86-64/pr24322b.s: Likewise. - * testsuite/ld-x86-64/pr24322c.s: Likewise. - -2019-03-06 Nick Bowler - - PR 24289 - * ldexp.c (fold_name): Allow lookups of the LENGTH and ORIGIN - attributes during the first phase. - -2019-03-01 Andreas Krebbel - - This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335. - 2019-01-14 Maamoun Tarsha - - PR 20113 - * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. - * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. - * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. - * testsuite/ld-s390/tlsbin.dd: Likewise. - * testsuite/ld-s390/tlsbin.rd: Likewise. - * testsuite/ld-s390/tlsbin.sd: Likewise. - * testsuite/ld-s390/tlsbin_64.dd: Likewise. - * testsuite/ld-s390/tlsbin_64.rd: Likewise. - * testsuite/ld-s390/tlsbin_64.sd: Likewise. - * testsuite/ld-s390/tlspic.dd: Likewise. - * testsuite/ld-s390/tlspic.rd: Likewise. - * testsuite/ld-s390/tlspic.sd: Likewise. - * testsuite/ld-s390/tlspic_64.dd: Likewise. - * testsuite/ld-s390/tlspic_64.rd: Likewise. - * testsuite/ld-s390/tlspic_64.sd: Likewise. - * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets. - -2019-02-27 H.J. Lu - - PR ld/24276 - * testsuite/ld-i386/i386.exp: Run PR ld/24276 test. - * testsuite/ld-x86-64/x86-64.exp: Likewise. - * testsuite/ld-i386/pr24276.dso: New file. - * testsuite/ld-i386/pr24276.warn: Likewise. - * testsuite/ld-x86-64/pr24276.dso: Likewise. - * testsuite/ld-x86-64/pr24276.warn: Likewise. - -2019-02-20 Eric Tsai - - * testsuite/ld-xtensa/call_overflow.d: New test definition. - * testsuite/ld-xtensa/call_overflow1.s: New test source. - * testsuite/ld-xtensa/call_overflow2.s: New test source. - * testsuite/ld-xtensa/call_overflow3.s: New test source. - * testsuite/ld-xtensa/xtensa.exp: Add call_overflow test. - -2019-02-14 Thomas Schwinge - - * testsuite/ld-elf/elf.exp: Remove Hurd XFAILs. - -2019-02-12 Nick Clifton - - * po/fr.po: Updated French translation. - -2019-02-09 Vineet Gupta - - * emultempl/arclinux.em: Delete special INIT/FINI handling. - -2019-02-07 Nick Clifton - - PR 24175 - * ld.texi (Options): Add missing word to the description of the - --start-group option. - -2019-02-06 Alan Modra - - PR ld/24008 - * testsuite/ld-scripts/pr24008.d: Pass with extra target - defined symbols. - -2019-02-05 H.J. Lu - - PR ld/24151 - * testsuite/ld-x86-64/pr24151a-x32.d: New file. - * testsuite/ld-x86-64/pr24151a.d: Likewise. - * testsuite/ld-x86-64/pr24151a.s: Likewise. - * testsuite/ld-x86-64/x86-64.exp: Run pr24151a and pr24151a-x32. - -2019-01-31 Alan Modra - - * NEWS: Mention -t change. - * ld.texi (--trace/-t): Expand documentation a little. - -2019-01-29 H.J. Lu - - PR ld/24008 - * testsuite/ld-scripts/defined.exp: Run pr24008. - * testsuite/ld-scripts/pr24008.d: New file. - * testsuite/ld-scripts/pr24008.map: Likewise. - * testsuite/ld-scripts/pr24008.s: Likewise. - * testsuite/ld-scripts/pr24008.t: Likewise. - -2019-01-29 Eric Botcazou - - * testsuite/ld-ifunc/ifunc.exp: Skip pr23169 on SPARC. - -2019-01-28 Alan Modra - - PR 24008 - * ldexp.h (lang_phase_type): Add lang_fixed_phase_enum. - * ldexp.c (fold_name): Move expld.assign_name check later to - avoid an extra lookup. - (exp_fold_tree_1): When lang_fixed_phase_enum, don't change symbol - values, and don't clear expld.assign_name. - * ldlang.c (lang_map): Set expld.phase to lang_fixed_phase_enum. - (print_assignment): Resolve entire assignment expression. - Don't access symbol u.def unless symbol is defined. - -2019-01-25 Nick Clifton - - * po/bg.po: Updated Bulgarian translation. - -2019-01-23 Sebastian Huber - - * ld.texi (--wrap): Add warning that LTO may make this feature - ineffective. - -2019-01-21 Nick Clifton - - * po/uk.po: Updated Ukranian translation. - * po/pr_BR.po: Updated Brazilian Portuguese translation. - -2019-01-21 Nick Clifton - - PR 24108 - * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Update - expected error message. - -2019-01-19 Nick Clifton - - * configure: Regenerate. - * po/ld.pot: Regenerate. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-16 Kito Cheng - - * testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new - section. - * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests. - * testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test. - * testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise. - * testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise. - -2019-01-14 Maamoun Tarsha - - PR 20113 - * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. - * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. - * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. - * testsuite/ld-s390/tlsbin.dd: Likewise. - * testsuite/ld-s390/tlsbin.rd: Likewise. - * testsuite/ld-s390/tlsbin.sd: Likewise. - * testsuite/ld-s390/tlsbin_64.dd: Likewise. - * testsuite/ld-s390/tlsbin_64.rd: Likewise. - * testsuite/ld-s390/tlsbin_64.sd: Likewise. - * testsuite/ld-s390/tlspic.dd: Likewise. - * testsuite/ld-s390/tlspic.rd: Likewise. - * testsuite/ld-s390/tlspic.sd: Likewise. - * testsuite/ld-s390/tlspic_64.dd: Likewise. - * testsuite/ld-s390/tlspic_64.rd: Likewise. - * testsuite/ld-s390/tlspic_64.sd: Likewise. - * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets. - -2019-01-14 Sebastian Huber - - * ld.texi (--wrap): Add example to emphasise that only undefined - references are replaced by the linker. - -2019-01-09 Nick Clifton - - * po/es.po: Updated Spanish translation. - -2019-01-09 Andrew Paprocki - - * configure: Regenerate. - -2019-01-08 Alan Modra - - * testsuite/ld-elf/sec64k.exp: Use . rather than $objdir in - generated source file names. - * testsuite/ld-m68k/m68k-got.exp: Likewise. - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/ld/ChangeLog-2019 b/ld/ChangeLog-2019 new file mode 100644 index 00000000000..f29913e9cf9 --- /dev/null +++ b/ld/ChangeLog-2019 @@ -0,0 +1,2904 @@ +2019-12-26 Alan Modra + + * ldlang.c (lang_output_section_find_by_flags): Don't use &p->field + when p might be NULL. + * ldelf.c (output_rel_find, ldelf_place_orphan): Likewise. + (insert_os_after, lang_insert_orphan, lookup_name): Likewise. + (strip_excluded_output_sections, lang_clear_os_map): Likewise. + (lang_check, lang_for_each_input_file): Likewise. + (lang_reset_memory_regions, find_replacements_insert_point): Likewise. + (find_rescan_insertion, lang_propagate_lma_regions): Likewise. + (lang_record_phdrs): Likewise. + * emultempl/alphaelf.em (alpha_after_open): Likewise. + * emultempl/mmo.em (mmo_place_orphan): Likewise. + * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. + * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise. + * emultempl/ppc32elf.em (ppc_after_check_relocs): Likewise. + * emultempl/spuelf.em (spu_before_allocation): Likewise. + (embedded_spu_file): Likewise. + +2019-12-19 Alan Modra + + * testsuite/lib/ld-lib.exp (uses_genelf): Remove moxie. + +2019-12-18 Anthony Green + + * emulparams/elf32moxie.sh (TEMPLATE_NAME): Switch to elf template + to enable --build-id. + * configure.tgt: Don't define targ_extra_ofiles for moxie-*-*. + +2019-12-18 Alan Modra + + * pe-dll.c (pe_get32, pe_as32): Avoid signed overflow. + +2019-12-17 Alan Modra + + * testsuite/ld-avr/lds-mega.d: Adjust symbols to suit objdump change. + * testsuite/ld-avr/lds-tiny.d: Likewise. + * testsuite/ld-x86-64/load2.d: Likewise. + * testsuite/ld-mips-elf/compact-eh1.s: Give function symbols + function type. + * testsuite/ld-mips-elf/compact-eh1a.s: Likewise. + * testsuite/ld-mips-elf/compact-eh1b.s: Likewise. + * testsuite/ld-mips-elf/compact-eh2.s: Likewise. + * testsuite/ld-mips-elf/compact-eh3.s: Likewise. + * testsuite/ld-mips-elf/compact-eh3a.s: Likewise. + * testsuite/ld-mips-elf/eh-frame5.s: Likewise. + * testsuite/ld-mips-elf/ehdr_start-new.s: Likewise. + * testsuite/ld-mips-elf/ehdr_start-o32.s: Likewise. + * testsuite/ld-mips-elf/emit-relocs-1a.s: Likewise. + * testsuite/ld-mips-elf/jaloverflow-2.s: Likewise. + * testsuite/ld-mips-elf/jaloverflow.s: Likewise. + * testsuite/ld-mips-elf/mips16-call-global-1.s: Likewise. + * testsuite/ld-mips-elf/mips16-intermix-1.s: Likewise. + * testsuite/ld-mips-elf/mips16-pic-1b.s: Likewise. + * testsuite/ld-mips-elf/mips16-pic-4c.s: Likewise. + * testsuite/ld-mips-elf/no-shared-1-n64.s: Likewise. + * testsuite/ld-mips-elf/no-shared-1-o32.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-1b-micromips.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-1b.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-2a.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-3b.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-4b.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-5a.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-6-n32c.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-6-n64c.s: Likewise. + * testsuite/ld-mips-elf/pic-and-nonpic-6-o32c.s: Likewise. + * testsuite/ld-mips-elf/pie.s: Likewise. + * testsuite/ld-mips-elf/relax-jalr.s: Likewise. + * testsuite/ld-mips-elf/reloc-1a.s: Likewise. + * testsuite/ld-mips-elf/reloc-2a.s: Likewise. + * testsuite/ld-mips-elf/reloc-4.s: Likewise. + * testsuite/ld-mips-elf/reloc-5.s: Likewise. + * testsuite/ld-mips-elf/reloc-6b.s: Likewise. + * testsuite/ld-mips-elf/textrel-1.s: Likewise. + * testsuite/ld-mips-elf/undefweak-overflow.s: Likewise. + * testsuite/ld-mips-elf/undefweak-overflow.d: Adjust. + +2019-12-17 Alan Modra + + * testsuite/ld-elf/pr21233-l.sd: Accept OBJECT for type and + PRC for section of symbols. + * testsuite/ld-elf/pr23591.d: Likewise. + * testsuite/ld-elf/provide-hidden-s.nd: Likewise. + * testsuite/ld-mips-elf/start.s: Make symbols function type. + * testsuite/ld-mips-elf/hash2.d: Adjust. Don't xfail irix. + +2019-12-17 Alan Modra + + * emulparams/tic80coff.sh: Delete file. + * scripttempl/tic80coff.sc: Delete file. + * configure.tgt: Remove tic80 support. + * Makefile.am: Likewise. + * Makefile.in: Regenerate. + * po/BLD-POTFILES.in: Regenerate. + +2019-12-12 H.J. Lu + + * testsuite/ld-i386/align-branch-1.d: New file. + * testsuite/ld-i386/align-branch-1.s: Likewise. + * testsuite/ld-x86-64/align-branch-1.d: Likewise. + * testsuite/ld-x86-64/align-branch-1.3: Likewise. + * testsuite/ld-i386/i386.exp: Run the new test. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + +2019-12-08 Alan Modra + + * testsuite/ld-elf/eh4.d: Match optional padding DW_CFA_nop in FDEs. + * testsuite/ld-elf/eh5.d: Likewise, and extra CIEs emitted on + embedded targets. + +2019-12-06 Alan Modra + + * testsuite/ld-mips-elf/eh-frame1-n32.d: Pass --eh-frame-hdr to ld. + * testsuite/ld-mips-elf/eh-frame1-n64.d: Likewise. + * testsuite/ld-mips-elf/eh-frame2-n32.d: Likewise. + * testsuite/ld-mips-elf/eh-frame2-n64.d: Likewise. + +2019-12-05 Alan Modra + + PR 25244 + * ldlang.c (lang_print_memory_usage): Correct last patch. + +2019-12-05 Alan Modra + + PR 25243 + * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Move definition + of __exidx_start and __exidx_end into ARM.exidx. + * emulparams/armelf_linux_eabi.sh (OTHER_READONLY_SECTIONS): Likewise. + * emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS): Similarly. + * emulparams/elf32_tic6x_le.sh (OTHER_READONLY_SECTIONS): Similarly. + * emulparams/armelf_fuchsia.sh: Source armelf_linux_eabi.sh, + just redefining TEXT_START_ADDR. + * emulparams/armelf_linux_fdpiceabi.sh: Source armelf_linux_eabi.sh, + adding to OTHER_READONLY_SECTIONS. + +2019-12-05 Alan Modra + + PR 25244 + * ldlang.c (lang_print_memory_usage): Don't print percent used + when length is zero. + +2019-11-27 Andrew Burgess + + * testsuite/ld-elf/eh5.d: Accept version 3 DWARF CIE. + +2019-11-26 Martin Liska + + * scripttempl/arclinux.sc: Add .text.sorted.* which is sorted + by default. + * scripttempl/elf.sc: Likewise. + * scripttempl/elf64bpf.sc: Likewise. + * scripttempl/nds32elf.sc: Likewise. + * testsuite/ld-arm/arm-no-rel-plt.ld: Expect .text.sorted.* + in the default linker script. + * testsuite/ld-arm/fdpic-main.ld: Likewise. + * testsuite/ld-arm/fdpic-shared.ld: Likewise. + +2019-11-25 Alan Modra + + * ldexp.c (fold_name): Pass section to bfd_octets_per_byte. + * ldlang.c (init_opb): Don't call bfd_arch_mach_octets_per_byte + unnecessarily. + +2019-11-25 Christian Eggers + + * ldexp.c (fold_name): Provide section parameter to + bfd_octets_per_byte. + * ldlang (init_opb): New argument s. Set opb_shift to 0 if + SEC_ELF_OCTETS for the current section is set. + (print_input_section): Pass current section to init_opb. + (print_data_statement,print_reloc_statement, + print_padding_statement): Likewise. + (lang_check_section_addresses): Call init_opb for each + section. + (lang_size_sections_1,lang_size_sections_1, + lang_do_assignments_1): Likewise. + (lang_process): Pass NULL to init_opb. + +2019-11-22 Nick Clifton + + * ld.texi (Output Section Discarding): Add note indicating that + /DISCARD/ed sections ignore ELF section grouping. + +2019-11-22 Nick Clifton + + * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Use cast instead of + extra check. + +2019-11-21 Nick Clifton + + * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Check for an empty + file chain before examining the first input statement. + +2019-11-21 Alan Modra + + PR 46 + * scripttempl/pe.sc: Comment on ld -Ur fail. Wrap .gcc_exc comment. + * scripttempl/pep.sc: Likewise. + * scripttempl/i386beos.sc: Wrap .gcc_exc comment. + * scripttempl/mcorepe.sc: Likewise. + * testsuite/ld-cdtest/cdtest.exp (test2): xfail for pe. + +2019-11-12 Jim Wilson + + PR 25181 + * testsuite/ld-riscv-elf/call-relax-0.s: New file. + * testsuite/ld-riscv-elf/call-relax-1.s: New file. + * testsuite/ld-riscv-elf/call-relax-2.s: New file. + * testsuite/ld-riscv-elf/call-relax-3.s: New file. + * testsuite/ld-riscv-elf/call-relax.d: New test. + * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run call-relax test. + +2019-11-08 Alan Modra + + * emulparams/aarch64elf.sh: Revert 2019-11-05 change. + * emulparams/aarch64elf32.sh: Likewise. + * emulparams/arcelf.sh: Likewise. + * emulparams/armelf.sh: Likewise. + * emulparams/armelf_fbsd.sh: Likewise. + * emulparams/armelf_nbsd.sh: Likewise. + * emulparams/armelf_vxworks.sh: Likewise. + * emulparams/armsymbian.sh: Likewise. + * emulparams/elf32bfin.sh: Likewise. + * emulparams/elf32microblaze.sh: Likewise. + * emulparams/score3_elf.sh: Likewise. + * emulparams/shelf.sh: Likewise. + * emulparams/shelf_nbsd.sh: Likewise. + * emulparams/shelf_uclinux.sh: Likewise. + +2019-11-07 Alan Modra + + * emulparams/elf32cr16c.sh: Delete. + * scripttempl/elf32cr16c.sc: Delete. + * Makefile.am, + * configure.tgt: Remove cr16c support. + * NEWS: Mention removal of cr16c. + * Makefile.in, + * po/BLD-POTFILES.in: Regenerate. + +2019-11-07 Alan Modra + + * configure.tgt: Order targets by cpu. + +2019-11-07 Alan Modra + + * testsuite/ld-aarch64/aarch64-elf.exp: Run tests requiring pie + or shared library support only when check_shared_lib_support. + * testsuite/ld-aarch64/bti-pac-plt-1.d: Likewise. + * testsuite/ld-aarch64/bti-pac-plt-2.d: Likewise. + * testsuite/ld-aarch64/bti-plt-1.d: Likewise. + * testsuite/ld-aarch64/bti-plt-2.d: Likewise. + * testsuite/ld-aarch64/bti-plt-3.d: Likewise. + * testsuite/ld-aarch64/bti-plt-4.d: Likewise. + * testsuite/ld-aarch64/bti-plt-6.d: Likewise. + * testsuite/ld-aarch64/bti-plt-7.d: Likewise. + * testsuite/ld-aarch64/bti-warn.d: Likewise. + * testsuite/ld-aarch64/dt_textrel.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-258-dyn-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-259-dyn-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-264-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-266-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-268-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-269-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-515.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-516.d: Likewise. + * testsuite/ld-aarch64/farcall-b-plt.d: Likewise. + * testsuite/ld-aarch64/farcall-bl-plt.d: Likewise. + * testsuite/ld-aarch64/gc-plt-relocs.d: Likewise. + * testsuite/ld-aarch64/gc-relocs-257-dyn.d: Likewise. + * testsuite/ld-aarch64/ifunc-1-local.d: Likewise. + * testsuite/ld-aarch64/ifunc-1.d: Likewise. + * testsuite/ld-aarch64/ifunc-12.d: Likewise. + * testsuite/ld-aarch64/ifunc-13.d: Likewise. + * testsuite/ld-aarch64/ifunc-14a.d: Likewise. + * testsuite/ld-aarch64/ifunc-14b.d: Likewise. + * testsuite/ld-aarch64/ifunc-14c.d: Likewise. + * testsuite/ld-aarch64/ifunc-14d.d: Likewise. + * testsuite/ld-aarch64/ifunc-14e.d: Likewise. + * testsuite/ld-aarch64/ifunc-14f.d: Likewise. + * testsuite/ld-aarch64/ifunc-15.d: Likewise. + * testsuite/ld-aarch64/ifunc-16.d: Likewise. + * testsuite/ld-aarch64/ifunc-18a.d: Likewise. + * testsuite/ld-aarch64/ifunc-18b.d: Likewise. + * testsuite/ld-aarch64/ifunc-19a.d: Likewise. + * testsuite/ld-aarch64/ifunc-19b.d: Likewise. + * testsuite/ld-aarch64/ifunc-2-local.d: Likewise. + * testsuite/ld-aarch64/ifunc-2.d: Likewise. + * testsuite/ld-aarch64/ifunc-20.d: Likewise. + * testsuite/ld-aarch64/ifunc-21.d: Likewise. + * testsuite/ld-aarch64/ifunc-3a.d: Likewise. + * testsuite/ld-aarch64/ifunc-3b.d: Likewise. + * testsuite/ld-aarch64/ifunc-5b-local.d: Likewise. + * testsuite/ld-aarch64/ifunc-5b.d: Likewise. + * testsuite/ld-aarch64/ifunc-6b.d: Likewise. + * testsuite/ld-aarch64/ifunc-7b.d: Likewise. + * testsuite/ld-aarch64/ifunc-7c.d: Likewise. + * testsuite/ld-aarch64/pac-plt-1.d: Likewise. + * testsuite/ld-aarch64/pac-plt-2.d: Likewise. + * testsuite/ld-aarch64/pcrel_pic_defined.d: Likewise. + * testsuite/ld-aarch64/pcrel_pic_undefined.d: Likewise. + * testsuite/ld-aarch64/pie-bind-locally.d: Likewise. + * testsuite/ld-aarch64/plt_mapping_symbol.d: Likewise. + * testsuite/ld-aarch64/pr20402.d: Likewise. + * testsuite/ld-aarch64/pr22764.d: Likewise. + * testsuite/ld-aarch64/property-bti-pac1.d: Likewise. + * testsuite/ld-aarch64/protected-data.d: Likewise. + * testsuite/ld-aarch64/rela-abs-relative-be.d: Likewise. + * testsuite/ld-aarch64/rela-abs-relative-opt.d: Likewise. + * testsuite/ld-aarch64/rela-abs-relative.d: Likewise. + * testsuite/ld-aarch64/relasz.d: Likewise. + * testsuite/ld-aarch64/relocs-1027-symbolic-func.d: Likewise. + * testsuite/ld-aarch64/tls-desc-ie-ilp32.d: Likewise. + * testsuite/ld-aarch64/tls-desc-ie.d: Likewise. + * testsuite/ld-aarch64/tls-large-desc-be.d: Likewise. + * testsuite/ld-aarch64/tls-large-desc.d: Likewise. + * testsuite/ld-aarch64/tls-large-ie-be.d: Likewise. + * testsuite/ld-aarch64/tls-large-ie.d: Likewise. + * testsuite/ld-aarch64/tls-relax-gdesc-le-now.d: Likewise. + * testsuite/ld-aarch64/tls-small-ld.d: Likewise. + * testsuite/ld-aarch64/tls-tiny-desc.d: Likewise. + * testsuite/ld-aarch64/tls-tiny-gd.d: Likewise. + * testsuite/ld-aarch64/tls-tiny-ie.d: Likewise. + * testsuite/ld-aarch64/tls-tiny-ld.d: Likewise. + * testsuite/ld-aarch64/tlsle-symbol-offset.d: Likewise. + * testsuite/ld-aarch64/tlsle.d: Likewise. + * testsuite/ld-aarch64/variant_pcs-now.d: Likewise. + * testsuite/ld-aarch64/variant_pcs-shared.d: Likewise. + * testsuite/ld-arm/arm-elf.exp: Likewise. Remove --hash-style=sysv + from static tests. Consolidate armelftests_common_* vars into one. + * testsuite/ld-arm/gc-hidden-1.d: Require check_shared_lib_support. + * testsuite/ld-arm/movw-shared-1.d: Likewise. + * testsuite/ld-arm/movw-shared-2.d: Likewise. + * testsuite/ld-arm/movw-shared-3.d: Likewise. + * testsuite/ld-arm/movw-shared-4.d: Likewise. + * testsuite/ld-arm/pie-bind-locally.d: Likewise. + * testsuite/ld-arm/protected-data.d: Likewise. + * testsuite/ld-arm/rel32-reject-pie.d: Likewise. + * testsuite/ld-arm/rel32-reject.d: Likewise. + * testsuite/ld-arm/thumb2-bl-undefweak.d: Likewise. + * testsuite/ld-arm/thumb2-bl-undefweak1.d: Likewise. + +2019-11-06 Christian Eggers + + * ldlang.c (print_input_section): Shift printed size by opb_shift. + +2019-11-05 Alan Modra + + * emulparams/aarch64elf.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Don't set. + * emulparams/aarch64elf32.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Don't set. + * emulparams/arcelf.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Don't set. + * emulparams/armelf_fbsd.sh (GENERATE_SHLIB_SCRIPT): Set. + * emulparams/armelf_nbsd.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Set. + * emulparams/armelf_vxworks.sh (GENERATE_SHLIB_SCRIPT): Set. + * emulparams/armsymbian.sh (GENERATE_SHLIB_SCRIPT): Set. + * emulparams/elf32bfin.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/elf32microblaze.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/score3_elf.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/shelf.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/shelf_nbsd.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Set. + * emulparams/shelf_uclinux.sh (GENERATE_SHLIB_SCRIPT): Set. + +2019-11-05 Alan Modra + + * emulparams/elf32bfinfd.sh: Unset EMBEDDED rather assigning as empty. + * emulparams/elf32frvfd.sh: Likewise. + * emulparams/elf32lm32fd.sh: Likewise. + * emulparams/i386lynx.sh: Likewise. + +2019-10-22 Alan Modra + + PR 22269 + * testsuite/ld-elf/pr22269-1.rd: Look for GOT section NONE and + RELATIVE relocs. + * testsuite/ld-elf/shared.exp (pr22269-1): Give test a better + name. Use -z nocombreloc. + +2019-10-19 Alan Modra + + PR ld/25110 + * testsuite/ld-gc/gc.exp: Adjust LDFLAGS for pr19161 dump test on + hppa*-*-linux*. + +2019-10-17 Nelson Chu + + * testsuite/ld-riscv-elf/lib-nopic-01b.d: Update the error message. + + * testsuite/ld-riscv-elf/lib-nopic-01a.s: Create the shared library + lib-nopic-01a.so, it will be linked with lib-nopic-01b.s. + * testsuite/ld-riscv-elf/lib-nopic-01b.s: Add new test for the + unresolved relocation. Link the non-pic code into a shared library + may cause the error. + * testsuite/ld-riscv-elf/lib-nopic-01b.d: Likewise. + * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run the new test only when + the shared library is supported. + +2019-10-16 Alan Modra + + PR 13616 + * emulparams/elf64lppc.sh (NOP): Don't define. + * emulparams/elf64ppc.sh (NOP): Don't define. + * ldwrite.c (build_link_order): Use link_info.big_endian. Move + code determining endian to use for data_statement to.. + * ldemul.c (after_open_default): ..here. Set link_info.big_endian. + +2019-10-16 Alan Modra + + * genscripts.sh: Correct comments. Remove outdated comment block + saying "Generate 5 or 6 script files..". Remove description of + ld options from comment emitted to script files, and order options + as per comment block in genscripts.sh saying which scripts are + generated. + +2019-10-14 Alan Modra + + * ldctor.h (struct set_element): Make next field a union, adding + idx field. + * ldctor.c (ctor_cmp): Dereference pointer and lose unnecessary + const. Replace final sort on pointer value with final sort on idx. + (ldctor_add_set_entry): Adjust next field access. + (ldctor_build_sets): Likewise. Set u.idx field for sort. + +2019-10-14 Alan Modra + + * pe-dll.c (reloc_data_type): Add idx field. + (reloc_sort): Perform final sort by idx. + (generate_reloc): Set idx. + +2019-10-13 Nick Clifton + + * NEWS: Delete superflous "Changes in 2.33" comment. + +2019-10-09 Alan Modra + + PR 25081 + * ldlang.c (lang_size_sections_1): Set lma from section vma + rather than dot. + +2019-10-08 Alan Modra + + * testsuite/ld-powerpc/localgot.s, + * testsuite/ld-powerpc/localgot.d: New test. + * testsuite/ld-powerpc/powerpc.exp: Run it. + +2019-10-07 Jozef Lawrynowicz + + * testsuite/ld-msp430-elf/attr-gnu-main.s: New test. + * testsuite/ld-msp430-elf/attr-gnu-obj.s: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-lower-upper.d: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-lower.d: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-upper.d: New test. + * testsuite/ld-msp430-elf/msp430-elf.exp: Run new tests. + +2019-10-07 Alan Modra + + * ldmisc.c (vfinfo): Save and restore bfd_error around bfd + function calls that might set it. + * testsuite/ld-elf/indirect.exp: Don't expect "nonrepresentable + section" message. + +2019-10-07 Alan Modra + + * testsuite/ld-powerpc/tlsexe.r: Adjust for added TLSMARK symbol. + * testsuite/ld-powerpc/tlsexe32.r: Likewise. + * testsuite/ld-powerpc/tlsso.r: Likewise. + * testsuite/ld-powerpc/tlsso32.r: Likewise. + * testsuite/ld-powerpc/tls32no.d, + * testsuite/ld-powerpc/tls32no.g: New test files. + * testsuite/ld-powerpc/tlsexe32no.d, + * testsuite/ld-powerpc/tlsexe32no.g, + * testsuite/ld-powerpc/tlsexe32no.r: New test files. + * testsuite/ld-powerpc/tlsexeno.d, + * testsuite/ld-powerpc/tlsexeno.g, + * testsuite/ld-powerpc/tlsexeno.r: New test files. + * testsuite/ld-powerpc/tlsexetocno.d, + * testsuite/ld-powerpc/tlsexetocno.g: New test files. + * testsuite/ld-powerpc/tlsno.d, + * testsuite/ld-powerpc/tlsno.g: New test files. + * testsuite/ld-powerpc/tlstocno.d, + * testsuite/ld-powerpc/tlstocno.g: New test files. + * testsuite/ld-powerpc/powerpc.exp: Run new tests. + +2019-10-07 Alan Modra + + * testsuite/ld-arm/tls-gdesc-neg.d: Relax target match. + +2019-10-04 Alan Modra + + * testsuite/ld-powerpc/tlsso.d: Adjust to suit tlsld_got usage change. + * testsuite/ld-powerpc/tlsso.g: Likewise. + * testsuite/ld-powerpc/tlsso.r: Likewise. + * testsuite/ld-powerpc/tlsso32.d: Likewise. + * testsuite/ld-powerpc/tlsso32.g: Likewise. + * testsuite/ld-powerpc/tlsso32.r: Likewise. + +2019-10-04 Szabolcs Nagy + + PR ld/25062 + * testsuite/ld-arm/arm-elf.exp: Update. + * testsuite/ld-arm/tls-gdesc-neg.d: New test. + * testsuite/ld-arm/tls-gdesc-neg.s: New test. + +2019-09-23 Nick Alcock + + * configure.ac (TESTCTFLIB): Set to the .so or .a, like TESTBFDLIB. + * Makefile.am (TESTCTFLIB): Use it. + (LIBCTF): Use the .la file. + (check-DEJAGNU): Use it. + * Makefile.in: Regenerated. + * configure: Likewise. + +2019-09-30 Nick Alcock + + * ldlang.h: (struct lang_input_statement_struct): Add the_ctf. + (struct elf_sym_strtab): Add forward. + (struct elf_strtab_hash): Likewise. + (ldlang_ctf_apply_strsym): Declare. + (ldlang_write_ctf_late): Likewise. + * ldemul.h (ldemul_emit_ctf_early): New. + (ldemul_examine_strtab_for_ctf): Likewise. + (ld_emulation_xfer_type) : Likewise. + (ld_emulation_xfer_type) : Likewise. + * ldemul.c (ldemul_emit_ctf_early): New. + (ldemul_examine_strtab_for_ctf): Likewise. + * ldlang.c: Include ctf-api.h. + (CTF_COMPRESSION_THRESHOLD): New. + (ctf_output): New. Initialized in... + (ldlang_open_ctf): ... this new function. Open all the CTF + sections in the input files: mark them non-loaded and empty + so as not to copy their contents to the output, but linker-created + so the section gets created in the target. + (ldlang_merge_ctf): New, merge types via ctf_link_add_ctf and + ctf_link. + (ldlang_ctf_apply_strsym): New, an examine_strtab callback: wrap + ldemul_examine_strtab_for_ctf. + (lang_write_ctf): New, write out the CTF section. + (ldlang_write_ctf_late): New, late call via bfd's emit_ctf hook. + (lang_process): Call ldlang_open_ctf, ldlang_merge_ctf, and + lang_write_ctf. + * ldmain.c (link_callbacks): Add ldlang_ctf_apply_strsym, + ldlang_write_ctf_late. + * emultempl/aix.em: Add ctf-api.h. + * emultempl/armcoff.em: Likewise. + * emultempl/beos.em: Likewise. + * emultempl/elf.em: Likewise. + * emultempl/generic.em: Likewise. + * emultempl/linux.em: Likewise. + * emultempl/msp430.em: Likewise. + * emultempl/pe.em: Likewise. + * emultempl/pep.em: Likewise. + * emultempl/ticoff.em: Likewise. + * emultempl/vanilla.em: Likewise. + * ldcref.c: Likewise. + * ldctor.c: Likewise. + * ldelf.c: Likewise. + * ldelfgen.c: Likewise. + * ldemul.c: Likewise. + * ldexp.c: Likewise. + * ldfile.c: Likewise. + * ldgram.c: Likewise. + * ldlex.l: Likewise. + * ldmain.c: Likewise. + * ldmisc.c: Likewise. + * ldver.c: Likewise. + * ldwrite.c: Likewise. + * lexsup.c: Likewise. + * mri.c: Likewise. + * pe-dll.c: Likewise. + * plugin.c: Likewise. + + * ldelfgen.c (ldelf_emit_ctf_early): New. + (ldelf_examine_strtab_for_ctf): tell libctf about the symtab and + strtab. + (struct ctf_strsym_iter_cb_arg): New, state to do so. + (ldelf_ctf_strtab_iter_cb): New: tell libctf about + each string in the strtab in turn. + (ldelf_ctf_symbols_iter_cb): New, tell libctf + about each symbol in the symtab in turn. + * ldelfgen.h (struct elf_sym_strtab): Add forward. + (struct elf_strtab_hash): Likewise. + (struct ctf_file): Likewise. + (ldelf_emit_ctf_early): Declare. + (ldelf_examine_strtab_for_ctf): Likewise. + * emultempl/elf-generic.em (LDEMUL_EMIT_CTF_EARLY): Set it. + (LDEMUL_EXAMINE_STRTAB_FOR_CTF): Likewise. + * emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Add + emit_ctf_early and examine_strtab_for_ctf, NULL by default. + * emultempl/armcoff.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/beos.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/elf.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/msp430.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/pe.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/pep.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/ticoff.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/vanilla.em (ld_vanilla_emulation): Likewise. + + * Makefile.am: Pull in libctf (and zlib, a transitive requirement + for compressed CTF section emission). Pass it on to DejaGNU. + * configure.ac: Add AM_ZLIB. + * aclocal.m4: Added zlib.m4. + * Makefile.in: Regenerated. + * testsuite/ld-bootstrap/bootstrap.exp: Use it when relinking ld. + +2019-10-02 Alan Modra + + * ld.texi (-Bsymbolic, -Bsymbolic-functions): Don't mention PIEs. + * ld.h (symbolic_enum, dynamic_list_enum), + (args_type ): Move to.. + * lexsup.c (parse_args): ..here, using auto vars opt_symbolic + and opt_dynamic_list rather than command_line fields. Only + act on -Bsymbolic and -Bsymbolic-functions for shared library + output. Free dynamic_list. + +2019-09-26 Alan Modra + + PR 24262 + * ld.texi (-plugin): Revert 2019-03-15 change. + +2019-09-25 Alan Modra + + * ld.texi (SORT_BY_ALIGNMENT): Reword slightly. + (SORT_BY_INIT_PRIORITY): Elucidate. + * ldlang.c: Include limits.h. + (get_init_priority): Comment. Change param to a section, + return an int. Sanity check priority digits. Support sorting + more sections with trailing digits. Return -1 on error. + (compare_section): Adjust. + +2019-09-25 Nick Clifton + + * emultempl/avrelf.em (_before_allocation): Silence build warning + using clang. + +2019-09-23 H.J. Lu + + * testsuite/ld-plugin/pr24406-1.c (main): Correct buffer size + to read. + +2019-09-23 Alan Modra + + * deffilep.y: Include bfdlink.h. + * ldelf.c: Likewise. + * ldelfgen.c: Likewise. + * ldver.c: Likewise. + * mri.c: Likewise. + * emultempl/irix.em: Don't include ld.h, ldmain.h, libiberty.h. + Comment. + +2019-09-23 Alan Modra + + * emultempl/m68kelf.em: Include elf32-m68k.h. + +2019-09-23 Alan Modra + + * emultempl/bfin.em: Include elf32-bfin.h. + +2019-09-23 Alan Modra + + * emultempl/cr16elf.em: Include elf32-cr16.h. + +2019-09-23 Alan Modra + + * emultempl/aix.em: Include xcofflink.h. + +2019-09-23 Alan Modra + + * emultempl/armelf.em: Include elf32-arm.h. + * emultempl/pe.em: Move func defines later and include coff-arm.h. + +2019-09-23 Alan Modra + + * emultempl/aarch64elf.em: Include elfxx-aarch64.h. + +2019-09-23 Alan Modra + + * emultempl/ia64elf.em: Include elfxx-ia64.h. + +2019-09-23 Alan Modra + + * emultempl/v850elf.em: Include elf32-v850.h. + +2019-09-23 Alan Modra + + * emultempl/cskyelf.em: Include elf32-csky.h. + +2019-09-22 Alan Modra + + * testsuite/ld-srec/sr3.cc (FOO_MSG_LEN): Set to 4. + +2019-09-20 Nelson Chu + + * testsuite/ld-riscv-elf/weakref32.s: Add relaxable undef weak code. + * testsuite/ld-riscv-elf/weakref64.s: Likewise. + * testsuite/ld-riscv-elf/weakref32.d: Updated. + * testsuite/ld-riscv-elf/weakref64.d: Updated. + +2019-09-20 Alan Modra + + * emultempl/xtensaelf.em (xtensa_get_section_deps): Comment. + Use bfd_section_userdata. + (xtensa_set_section_deps): Use bfd_set_section_userdata. + * ldlang.c (lang_output_section_get): Use bfd_section_userdata. + (sort_def_symbol): Likewise, and bfd_set_section_userdata. + (init_os): Use bfd_set_section_userdata. + (print_all_symbols): Use bfd_section_userdata. + * ldlang.h (get_userdata): Delete. + +2019-09-20 Alan Modra + + * ldelf.c (ldelf_after_open, ldelf_place_orphan + * ldlang.c (walk_wild_file, lang_process): Use bfd_usrdata. + (load_symbols, ldlang_add_file): Use bfd_set_usrdata. + * ldmain.c (add_archive_element): Use bfd_usrdata. + * ldlang.h (bfd_input_just_syms): New inline function. + * emultempl/aarch64elf.em (build_section_lists): Use it. + * emultempl/mmo.em (mmo_place_orphan): Likewise. + * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. + * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise. + * emultempl/ppc64elf.em (build_section_lists): Likewise. + +2019-09-18 Alan Modra + + * ldcref.c, * ldctor.c, * ldelf.c, * ldlang.c, * pe-dll.c, + * emultempl/aarch64elf.em, * emultempl/aix.em, + * emultempl/armcoff.em, * emultempl/armelf.em, + * emultempl/cr16elf.em, * emultempl/cskyelf.em, + * emultempl/m68hc1xelf.em, * emultempl/m68kelf.em, + * emultempl/mipself.em, * emultempl/mmix-elfnmmo.em, + * emultempl/mmo.em, * emultempl/msp430.em, + * emultempl/nios2elf.em, * emultempl/pe.em, * emultempl/pep.em, + * emultempl/ppc64elf.em, * emultempl/xtensaelf.em: Update + throughout for bfd section macro and function changes. + +2019-09-18 Alan Modra + + * ldcref.c (check_reloc_refs): Update bfd_get_section to + bfd_asymbol_section. + +2019-09-18 Simon Marchi + + * Makefile.in: Re-generate. + * configure: Re-generate. + +2019-09-18 Alan Modra + + * ldlang.c (stricpy, strcut, name_compare): Constify params. + (get_first_input_target): Make return and "target" const. + +2019-09-18 Alan Modra + + * emultempl/pe.em (after_open): Use bfd_set_filename. + * emultempl/pep.em (after_open): Use bfd_set_filename. + +2019-09-16 Alan Modra + + PR 25002 + * ldelf.c: Include safe-ctype.h. + +2019-09-16 Phil Blundell + + * Makefile.in, configure: Regenerated. + +2019-09-13 Alan Modra + + * ldlang.c (new_afile): Remove add_to_list parameter. + (lang_add_input_file): Update new_afile calls. + (lookup_name): Splice input_statement added by new_afile into + statement_list after current input_file_chain entry. + (lang_process): Update comment. + +2019-09-12 Alan Modra + + * ldlang.c (print_input_statement): Do not exclude linker created + BFDs. + +2019-09-12 Alan Modra + + PR 24981 + * ldlang.c (lang_process): Remove assertion. Comment. + +2019-09-11 Alan Modra + + * emultempl/elf32.em: Remove "misnamed" comment. Rename to.. + * emultempl/elf.em: ..this. + * configure.ac (elf_list_options): Adjust TEMPLATE_NAME grep. + * emulparams/aarch64cloudabi.sh (TEMPLATE_NAME): Set to elf. + * emulparams/aarch64elf.sh: Likewise. + * emulparams/aarch64elf32.sh: Likewise. + * emulparams/aarch64fbsd.sh: Likewise. + * emulparams/aarch64linux.sh: Likewise. + * emulparams/aarch64linux32.sh: Likewise. + * emulparams/arcelf.sh: Likewise. + * emulparams/arcelf_prof.sh: Likewise. + * emulparams/arclinux.sh: Likewise. + * emulparams/arclinux_prof.sh: Likewise. + * emulparams/arcv2elf.sh: Likewise. + * emulparams/arcv2elfx.sh: Likewise. + * emulparams/armelf.sh: Likewise. + * emulparams/armelf_fuchsia.sh: Likewise. + * emulparams/armelf_linux.sh: Likewise. + * emulparams/armelf_phoenix.sh: Likewise. + * emulparams/armnto.sh: Likewise. + * emulparams/avr1.sh: Likewise. + * emulparams/avr2.sh: Likewise. + * emulparams/avr25.sh: Likewise. + * emulparams/avr3.sh: Likewise. + * emulparams/avr31.sh: Likewise. + * emulparams/avr35.sh: Likewise. + * emulparams/avr4.sh: Likewise. + * emulparams/avr5.sh: Likewise. + * emulparams/avr51.sh: Likewise. + * emulparams/avr6.sh: Likewise. + * emulparams/avrtiny.sh: Likewise. + * emulparams/avrxmega1.sh: Likewise. + * emulparams/avrxmega2.sh: Likewise. + * emulparams/avrxmega3.sh: Likewise. + * emulparams/avrxmega4.sh: Likewise. + * emulparams/avrxmega5.sh: Likewise. + * emulparams/avrxmega6.sh: Likewise. + * emulparams/avrxmega7.sh: Likewise. + * emulparams/criself.sh: Likewise. + * emulparams/crislinux.sh: Likewise. + * emulparams/cskyelf.sh: Likewise. + * emulparams/d10velf.sh: Likewise. + * emulparams/elf32_sparc.sh: Likewise. + * emulparams/elf32_spu.sh: Likewise. + * emulparams/elf32_tic6x_le.sh: Likewise. + * emulparams/elf32_x86_64.sh: Likewise. + * emulparams/elf32am33lin.sh: Likewise. + * emulparams/elf32bfin.sh: Likewise. + * emulparams/elf32bfinfd.sh: Likewise. + * emulparams/elf32bmip.sh: Likewise. + * emulparams/elf32bmipn32-defs.sh: Likewise. + * emulparams/elf32cr16.sh: Likewise. + * emulparams/elf32cr16c.sh: Likewise. + * emulparams/elf32crx.sh: Likewise. + * emulparams/elf32epiphany.sh: Likewise. + * emulparams/elf32epiphany_4x4.sh: Likewise. + * emulparams/elf32frvfd.sh: Likewise. + * emulparams/elf32ip2k.sh: Likewise. + * emulparams/elf32lm32.sh: Likewise. + * emulparams/elf32lm32fd.sh: Likewise. + * emulparams/elf32lriscv-defs.sh: Likewise. + * emulparams/elf32m32c.sh: Likewise. + * emulparams/elf32mb_linux.sh: Likewise. + * emulparams/elf32mbel_linux.sh: Likewise. + * emulparams/elf32mcore.sh: Likewise. + * emulparams/elf32mep.sh: Likewise. + * emulparams/elf32metag.sh: Likewise. + * emulparams/elf32microblaze.sh: Likewise. + * emulparams/elf32mipswindiss.sh: Likewise. + * emulparams/elf32or1k.sh: Likewise. + * emulparams/elf32ppccommon.sh: Likewise. + * emulparams/elf32rl78.sh: Likewise. + * emulparams/elf32rx.sh: Likewise. + * emulparams/elf32tilegx.sh: Likewise. + * emulparams/elf32tilepro.sh: Likewise. + * emulparams/elf32vax.sh: Likewise. + * emulparams/elf32visium.sh: Likewise. + * emulparams/elf32xc16x.sh: Likewise. + * emulparams/elf32xc16xl.sh: Likewise. + * emulparams/elf32xc16xs.sh: Likewise. + * emulparams/elf32xstormy16.sh: Likewise. + * emulparams/elf32xtensa.sh: Likewise. + * emulparams/elf64_aix.sh: Likewise. + * emulparams/elf64_ia64.sh: Likewise. + * emulparams/elf64_s390.sh: Likewise. + * emulparams/elf64_sparc.sh: Likewise. + * emulparams/elf64alpha.sh: Likewise. + * emulparams/elf64bpf.sh: Likewise. + * emulparams/elf64hppa.sh: Likewise. + * emulparams/elf64mmix.sh: Likewise. + * emulparams/elf64rdos.sh: Likewise. + * emulparams/elf64tilegx.sh: Likewise. + * emulparams/elf_i386.sh: Likewise. + * emulparams/elf_i386_be.sh: Likewise. + * emulparams/elf_i386_ldso.sh: Likewise. + * emulparams/elf_i386_vxworks.sh: Likewise. + * emulparams/elf_iamcu.sh: Likewise. + * emulparams/elf_k1om.sh: Likewise. + * emulparams/elf_l1om.sh: Likewise. + * emulparams/elf_s390.sh: Likewise. + * emulparams/elf_x86_64.sh: Likewise. + * emulparams/h8300elf.sh: Likewise. + * emulparams/h8300elf_linux.sh: Likewise. + * emulparams/hppa64linux.sh: Likewise. + * emulparams/hppaelf.sh: Likewise. + * emulparams/hppalinux.sh: Likewise. + * emulparams/i386lynx.sh: Likewise. + * emulparams/i386moss.sh: Likewise. + * emulparams/i386nto.sh: Likewise. + * emulparams/m32relf.sh: Likewise. + * emulparams/m32relf_linux.sh: Likewise. + * emulparams/m68hc11elf.sh: Likewise. + * emulparams/m68hc11elfb.sh: Likewise. + * emulparams/m68hc12elf.sh: Likewise. + * emulparams/m68hc12elfb.sh: Likewise. + * emulparams/m68kelf.sh: Likewise. + * emulparams/mn10300.sh: Likewise. + * emulparams/nds32elf.sh: Likewise. + * emulparams/nds32elf16m.sh: Likewise. + * emulparams/nds32elf_linux.sh: Likewise. + * emulparams/nios2elf.sh: Likewise. + * emulparams/nios2linux.sh: Likewise. + * emulparams/pruelf.sh: Likewise. + * emulparams/score3_elf.sh: Likewise. + * emulparams/shelf.sh: Likewise. + * emulparams/shelf_nto.sh: Likewise. + * emulparams/shelf_vxworks.sh: Likewise. + * emulparams/shlelf_linux.sh: Likewise. + * emulparams/shlelf_nto.sh: Likewise. + * emulparams/v850.sh: Likewise. + * emulparams/v850_rh850.sh: Likewise. + * ldelf.c: Update comment. + * ldelf.h: Likewise. + * emultempl/aarch64elf.em: Likewise. + * emultempl/alphaelf.em: Likewise. + * emultempl/arclinux.em: Likewise. + * emultempl/armelf.em: Likewise. + * emultempl/avrelf.em: Likewise. + * emultempl/bfin.em: Likewise. + * emultempl/cr16elf.em: Likewise. + * emultempl/crxelf.em: Likewise. + * emultempl/cskyelf.em: Likewise. + * emultempl/elf-generic.em: Likewise. + * emultempl/elf-x86.em: Likewise. + * emultempl/epiphanyelf_4x4.em: Likewise. + * emultempl/hppaelf.em: Likewise. + * emultempl/ia64elf.em: Likewise. + * emultempl/m68hc1xelf.em: Likewise. + * emultempl/m68kelf.em: Likewise. + * emultempl/metagelf.em: Likewise. + * emultempl/mmix-elfnmmo.em: Likewise. + * emultempl/mmixelf.em: Likewise. + * emultempl/mmo.em: Likewise. + * emultempl/needrelax.em: Likewise. + * emultempl/nios2elf.em: Likewise. + * emultempl/ppc32elf.em: Likewise. + * emultempl/ppc64elf.em: Likewise. + * emultempl/pruelf.em: Likewise. + * emultempl/rxelf.em: Likewise. + * emultempl/scoreelf.em: Likewise. + * emultempl/spuelf.em: Likewise. + * emultempl/tic6xdsbt.em: Likewise. + * emultempl/v850elf.em: Likewise. + * emultempl/vms.em: Likewise. + * emultempl/vxworks.em: Likewise. + * emultempl/xtensaelf.em: Likewise. + * scripttempl/arclinux.sc: Likewise. + * scripttempl/armbpabi.sc: Likewise. + * scripttempl/elf.sc: Likewise. + * scripttempl/elf64bpf.sc: Likewise. + * scripttempl/elf64hppa.sc: Likewise. + * scripttempl/elf_chaos.sc: Likewise. + * scripttempl/elfarc.sc: Likewise. + * scripttempl/elfarcv2.sc: Likewise. + * scripttempl/elfd10v.sc: Likewise. + * scripttempl/elfm68hc11.sc: Likewise. + * scripttempl/elfm68hc12.sc: Likewise. + * scripttempl/elfm9s12z.sc: Likewise. + * scripttempl/elfxgate.sc: Likewise. + * scripttempl/elfxtensa.sc: Likewise. + * scripttempl/epiphany_4x4.sc: Likewise. + * scripttempl/iq2000.sc: Likewise. + * scripttempl/mep.sc: Likewise. + * scripttempl/nds32elf.sc: Likewise. + * scripttempl/v850.sc: Likewise. + * scripttempl/v850_rh850.sc: Likewise. + * scripttempl/xstormy16.sc: Likewise. + * testsuite/ld-arm/arm-dyn.ld: Likewise. + * testsuite/ld-arm/arm-lib.ld: Likewise. + * testsuite/ld-arm/arm-no-rel-plt.ld: Likewise. + * testsuite/ld-arm/fdpic-main.ld: Likewise. + * testsuite/ld-arm/fdpic-shared.ld: Likewise. + * testsuite/ld-elf/elf.exp: Likewise. + * testsuite/ld-elf/orphan-region.d: Likewise. + * testsuite/ld-elf/orphan.d: Likewise. + * testsuite/ld-elf/pr349.d: Likewise. + * testsuite/ld-elf/warn2.d: Likewise. + * testsuite/ld-elfvsb/elf-offset.ld: Likewise. + * testsuite/ld-mips-elf/mips-dyn.ld: Likewise. + * testsuite/ld-mips-elf/mips-lib.ld: Likewise. + * testsuite/ld-scripts/dynamic-sections.t: Likewise. + * testsuite/ld-shared/elf-offset.ld: Likewise. + * configure: Regenerate. + +2019-09-11 Alan Modra + + * Makefile.am (ALL_EMUL_EXTRA_OFILES): Add ldelf and ldelfgen. + (CFILES, HFILES, EXTRA_ld_new_SOURCES): Likewise. + * configure.tgt: Formatting. + (targ_extra_ofiles): Init to ldelf.o ldelfgen.o, reset to just + ldelfgen.o for generic ELF targets, and empty for non-ELF. + * emultempl/aarch64elf.em (gldaarch64_layout_sections_again): Use + ldelf_map_segments. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, aarch64_for_each_input_file_wrapper), + (aarch64_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/alphaelf.em (alpha_after_parse): Use ldelf_map_segments. + * emultempl/armelf.em (gldarm_layout_sections_again): Likewise. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, arm_for_each_input_file_wrapper), + (arm_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/cr16elf.em (cr16elf_after_parse): Use ldelf_map_segments. + * emultempl/crxelf.em (crxelf_after_parse): Likewise. Delete + declaration. + * emultempl/cskyelf.em (gldcsky_layout_sections_again): Use + ldelf_map_segments. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, csky_for_each_input_file_wrapper), + (csky_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/genelf.em: Include ldelfgen.h. + (gld${EMULATION_NAME}_before_allocation): Use ldelf_map_segments. + * emultempl/hppaelf.em (hppaelf_after_parse): Likewise. + (hppaelf_layout_sections_again): Likewise. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, hppa_for_each_input_file_wrapper), + (hppa_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/ia64elf.em (ia64elf_after_parse): Use ldelf_map_segments. + * emultempl/m68hc1xelf.em (real_func), + (m68hc11_for_each_input_file_wrapper), + (m68hc11_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/metagelf.em (metagelf_layout_sections_again): Use + ldelf_map_segments. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, metag_for_each_input_file_wrapper), + (metag_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/mipself.em (real_func), + (mips_for_each_input_file_wrapper), + (mips_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/mmo.em: Don't include elf-bfd.h, do include ldelfgen.h. + (gld${EMULATION_NAME}_after_allocation): Use ldelf_map_segments. + * emultempl/nds32elf.em (nds32_elf_after_parse): Use ldelf_after_parse. + (nds32_elf_after_allocation): Comment fix. + * emultempl/nios2elf.em (nios2elf_layout_sections_again): Use + ldelf_map_segments. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, nios2_for_each_input_file_wrapper), + (nios2_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/ppc32elf.em (gld${EMULATION_NAME}_load_symbols): Delete + declaration. + (ppc_recognized_file): Call ldelf_load_symbols. + * emultempl/ppc64elf.em (ppc_layout_sections_again): Likewise. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, ppc_for_each_input_file_wrapper), + (ppc_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + (gld${EMULATION_NAME}_load_symbols): Don't declare. + (ppc64_recognized_file): Call ldelf_load_symbols. + * emultempl/riscvelf.em (gld${EMULATION_NAME}_after_allocation): + Use ldelf_map_segments. + * emultempl/spuelf.em (spu_place_special_section): Use + ldelf_place_orphan. + * emultempl/tic6xdsbt.em (gld${EMULATION_NAME}_after_allocation): + Use ldelf_map_segments. + * emultempl/vms.em: Include ldelfgen.h. + (gld${EMULATION_NAME}_after_allocation): Use ldelf_map_segments. + * emultempl/elf32.em: Remove unnecessary headers, include ldelf.h + and ldelfgen.h. Move much of file content to.. + * ldelf.c: ..here. New file. + * ldelf.h: New file. + * emultempl/elf-generic.em: Move gld${EMULATION_NAME}_map_segments.. + * ldelfgen.c: ..to here. + * ldelfgen.h: New file. + * ldlang.c (lang_for_each_input_file): Adjust to only call func + on real files. + (lang_for_each_file): Likewise. + * po/SRC-POTFILES.in: Regenerate. + * Makefile.in: Regenerate. + +2019-09-11 Alan Modra + + * ldmisc.c: Don't #include elf-bfd.h or coff-bfd.h. + (vfinfo): Use bfd_group_name. + +2019-09-11 Alan Modra + + * plugin.c (asymbol_from_plugin_symbol): Move code handling + ELF common symbols to block handling ELF visibility. Simplify + visibility setting. + +2019-09-09 H.J. Lu + + PR binutils/24887 + * testsuite/ld-i386/property-1.r: Adjust for new output format + from readelf. + * testsuite/ld-i386/property-1a.r: Likewise. + * testsuite/ld-i386/property-2.r: Likewise. + * testsuite/ld-i386/property-2a.r: Likewise. + * testsuite/ld-i386/property-3.r: Likewise. + * testsuite/ld-i386/property-3a.r: Likewise. + * testsuite/ld-i386/property-4.r: Likewise. + * testsuite/ld-i386/property-4a.r: Likewise. + * testsuite/ld-i386/property-5.r: Likewise. + * testsuite/ld-i386/property-5a.r: Likewise. + * testsuite/ld-i386/property-6.r: Likewise. + * testsuite/ld-i386/property-7.r: Likewise. + * testsuite/ld-i386/property-7a.r: Likewise. + * testsuite/ld-i386/property-1.r: Likewise. + * testsuite/ld-i386/property-1a.r: Likewise. + * testsuite/ld-i386/property-2.r: Likewise. + * testsuite/ld-i386/property-2a.r: Likewise. + * testsuite/ld-i386/property-3.r: Likewise. + * testsuite/ld-i386/property-3a.r: Likewise. + * testsuite/ld-i386/property-4.r: Likewise. + * testsuite/ld-i386/property-4a.r: Likewise. + * testsuite/ld-i386/property-5.r: Likewise. + * testsuite/ld-i386/property-5a.r: Likewise. + * testsuite/ld-i386/property-6.r: Likewise. + * testsuite/ld-i386/property-7.r: Likewise. + * testsuite/ld-i386/property-7a.r: Likewise. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-09-06 Alan Modra + + * emultempl/beos.em (sort_by_file_name): Use appropriate + intermediary variables. + (sort_by_section_name): Likewise. + +2019-09-06 Alan Modra + + * emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Constify + variable. + * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise. + * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. + +2019-09-05 Eric Botcazou + + PR ld/24574 + * pe-dll.c (pe_find_data_imports): Replace again the original name of + the undefined symbol with the __imp_ prefixed one after it is resolved. + +2019-09-05 Alan Modra + + * testsuite/ld-powerpc/pcrelopt.s, + * testsuite/ld-powerpc/pcrelopt.d: Test offset and prefix in + second instruction. + +2019-08-29 Alan Modra + + PR ld/24406 + * plugin.c (get_symbols): Test link_info.wrap_hash before calling + unwrap_hash_lookup. + +2019-08-22 Tamar Christina + + PR ld/24601 + * testsuite/ld-aarch64/aarch64-elf.exp (undef-tls, weak-tls): New. + * testsuite/ld-aarch64/undef-tls.d: New test. + * testsuite/ld-aarch64/undef-tls.s: New test. + * testsuite/ld-aarch64/weak-tls.d: New test. + * testsuite/ld-aarch64/weak-tls.s: New test. + +2019-08-20 Tamar Christina + + * testsuite/ld-arm/cortex-a8-fix-b-plt.d: Update Testcase. + * testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d: Likewise. + * testsuite/ld-arm/cortex-a8-fix-bcc-plt.d: Likewise. + * testsuite/ld-arm/farcall-cond-thumb-arm.d: Likewise. + * testsuite/ld-arm/farcall-mixed-app.d: Likewise. + * testsuite/ld-arm/farcall-mixed-app2.d: Likewise. + * testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise. + * testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise. + * testsuite/ld-arm/farcall-thumb-arm-short.d: Likewise. + * testsuite/ld-arm/farcall-thumb-arm.d: Likewise. + * testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise. + * testsuite/ld-arm/farcall-thumb-thumb.d: Likewise. + * testsuite/ld-arm/fix-arm1176-on.d: Likewise. + * testsuite/ld-arm/ifunc-10.dd: Likewise. + * testsuite/ld-arm/ifunc-2.dd: Likewise. + * testsuite/ld-arm/ifunc-4.dd: Likewise. + * testsuite/ld-arm/ifunc-6.dd: Likewise. + * testsuite/ld-arm/ifunc-8.dd: Likewise. + * testsuite/ld-arm/jump-reloc-veneers-long.d: Likewise. + * testsuite/ld-arm/mixed-app.d: Likewise. + * testsuite/ld-arm/thumb2-b-interwork.d: Likewise. + * testsuite/ld-arm/tls-longplt.d: Likewise. + * testsuite/ld-arm/tls-thumb1.d: Likewise. + +2019-08-16 H.J. Lu + + PR ld/24905 + * testsuite/ld-x86-64/pr24905-x32.d: New file. + * testsuite/ld-x86-64/pr24905.d: Likewise. + * testsuite/ld-x86-64/pr24905.s: Likewise. + * testsuite/ld-x86-64/pr24905.t: Likewise. + * testsuite/ld-x86-64/x86-64.exp: Run pr24905 and pr24905-x32. + +2019-08-16 Christophe Lyon + + * emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit + section. + +2019-08-16 Alan Modra + + * emultempl/ppc32elf.em (ppc_before_allocation): Force running + prelim_size_sections before deciding whether branch trampolines + might be needed. + +2019-08-15 Jim Wilson + + * testsuite/ld-riscv-elf/c-lui-2.d: New. + * testsuite/ld-riscv-elf/c-lui-2.ld: New. + * testsuite/ld-riscv-elf/c-lui-2.s: New. + * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run the c-lui-2 test. + +2019-08-10 Alan Modra + + * ldlang.h (enum statement_enum): Sort. + (union lang_statement_union): Sort. + +2019-08-10 Alan Modra + + * ldlang.h (lang_common_statement_type): Delete. + (lang_object_symbols_statement_type): Delete. + (union lang_statement_union): Remove common_statement and + object_symbols_statement. + +2019-08-10 Alan Modra + + * ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop, exp_trinop), + (exp_unop, exp_nameop, exp_assop, exp_assert): Remove casts of + stat_alloc return value. + * ldlang.c (new_statement, new_afile, sort_def_symbol), + (lang_memory_region_lookup, lang_memory_region_alias), + (ldlang_add_undef, ldlang_add_require_defined, insert_pad), + (lang_add_gc_name, lang_new_phdr): Likewise. + * lexsup.c (set_segment_start): Likewise. + +2019-08-10 Alan Modra + + * ldlang.h (lang_input_statement_type): Make next + and next_real_file a lang_input_statement_type pointer. + (lang_statement_append): Delete prototype. + (LANG_FOR_EACH_INPUT_STATEMENT): Update for lang_input_statement_type + change. + * ldmain.c (add_archive_element): Likewise. + * ldlang.c: Likewise throughout. + (lang_statement_append): Make static. Make element and field + void pointers. Remove casts in calls. + (lang_check): Use a lang_input_statement_type pointer for "file". + (find_rescan_insertion): Similarly for "iter" and return value. + (lang_process): Similarly for "insert", "iter" and "temp". + * emultempl/spuelf.em (embedded_spu_file): Likewise. + * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Expand + lang_statment_append call. + +2019-08-09 Mihailo Stojanovic + + * emulparams/elf32bmip.sh: Add .MIPS.xhash section. + * emulparams/elf32bmipn32-defs.sh: Add .MIPS.xhash section. + * emulparams/elf64bmip-defs.sh: Add .MIPS.xhash section. + * emultempl/mipself.em: Remove mips_after_parse function. + * testsuite/ld-elf/hash.d: Update comment. + * testsuite/ld-mips-elf/hash1.d: New test. + * testsuite/ld-mips-elf/hash1.s: Ditto. + * testsuite/ld-mips-elf/hash1a.d: Remove. + * testsuite/ld-mips-elf/hash1b.d: Ditto. + * testsuite/ld-mips-elf/hash1c.d: Ditto + * testsuite/ld-mips-elf/hash2.d: New test. + * testsuite/ld-mips-elf/mips-elf.exp: New tests. + * testsuite/ld-mips-elf/start.s: New test. + +2019-08-08 Nick Clifton + + PR 24887 + * testsuite/ld-aarch64/bti-plt-2.d: Adjust for new output format + from readelf. + * testsuite/ld-aarch64/bti-plt-4.d: Likewise. + * testsuite/ld-aarch64/bti-plt-6.d: Likewise. + * testsuite/ld-aarch64/bti-plt-7.d: Likewise. + * testsuite/ld-aarch64/bti-warn.d: Likewise. + * testsuite/ld-aarch64/property-bti-pac1.d: Likewise. + * testsuite/ld-aarch64/property-bti-pac2.d: Likewise. + * testsuite/ld-aarch64/property-bti-pac3.d: Likewise. + * testsuite/ld-elf/x86-feature-1a.rd: Likewise. + * testsuite/ld-elf/x86-feature-1b.rd: Likewise. + * testsuite/ld-elf/x86-feature-1c.rd: Likewise. + * testsuite/ld-elf/x86-feature-1d.rd: Likewise. + * testsuite/ld-elf/x86-feature-1e.rd: Likewise. + * testsuite/ld-i386/ibt-plt-2d.d: Likewise. + * testsuite/ld-i386/ibt-plt-3d.d: Likewise. + * testsuite/ld-i386/pr23372a.d: Likewise. + * testsuite/ld-i386/pr23372c.d: Likewise. + * testsuite/ld-i386/pr23486a.d: Likewise. + * testsuite/ld-i386/pr23486b.d: Likewise. + * testsuite/ld-i386/pr23486c.d: Likewise. + * testsuite/ld-i386/pr23486d.d: Likewise. + * testsuite/ld-i386/pr24322a.d: Likewise. + * testsuite/ld-i386/pr24322b.d: Likewise. + * testsuite/ld-i386/property-x86-3.d: Likewise. + * testsuite/ld-i386/property-x86-4a.d: Likewise. + * testsuite/ld-i386/property-x86-5.d: Likewise. + * testsuite/ld-i386/property-x86-cet1.d: Likewise. + * testsuite/ld-i386/property-x86-cet2a.d: Likewise. + * testsuite/ld-i386/property-x86-cet5a.d: Likewise. + * testsuite/ld-i386/property-x86-cet5b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt1a.d: Likewise. + * testsuite/ld-i386/property-x86-ibt1b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt2.d: Likewise. + * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. + * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt4.d: Likewise. + * testsuite/ld-i386/property-x86-ibt5.d: Likewise. + * testsuite/ld-i386/property-x86-shstk1a.d: Likewise. + * testsuite/ld-i386/property-x86-shstk1b.d: Likewise. + * testsuite/ld-i386/property-x86-shstk2.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. + * testsuite/ld-i386/property-x86-shstk4.d: Likewise. + * testsuite/ld-i386/property-x86-shstk5.d: Likewise. + * testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise. + * testsuite/ld-x86-64/ibt-plt-2d.d: Likewise. + * testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise. + * testsuite/ld-x86-64/ibt-plt-3d.d: Likewise. + * testsuite/ld-x86-64/pr23372a-x32.d: Likewise. + * testsuite/ld-x86-64/pr23372a.d: Likewise. + * testsuite/ld-x86-64/pr23372c-x32.d: Likewise. + * testsuite/ld-x86-64/pr23372c.d: Likewise. + * testsuite/ld-x86-64/pr23486a-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486a.d: Likewise. + * testsuite/ld-x86-64/pr23486b-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486b.d: Likewise. + * testsuite/ld-x86-64/pr23486c-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486c.d: Likewise. + * testsuite/ld-x86-64/pr23486d-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486d.d: Likewise. + * testsuite/ld-x86-64/pr24322a-x32.d: Likewise. + * testsuite/ld-x86-64/pr24322a.d: Likewise. + * testsuite/ld-x86-64/pr24322b-x32.d: Likewise. + * testsuite/ld-x86-64/pr24322b.d: Likewise. + * testsuite/ld-x86-64/pr24458a-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458a.d: Likewise. + * testsuite/ld-x86-64/pr24458b-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458b.d: Likewise. + * testsuite/ld-x86-64/pr24458c-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458c.d: Likewise. + * testsuite/ld-x86-64/property-1.r: Likewise. + * testsuite/ld-x86-64/property-1a.r: Likewise. + * testsuite/ld-x86-64/property-2.r: Likewise. + * testsuite/ld-x86-64/property-2a.r: Likewise. + * testsuite/ld-x86-64/property-3.r: Likewise. + * testsuite/ld-x86-64/property-3a.r: Likewise. + * testsuite/ld-x86-64/property-4.r: Likewise. + * testsuite/ld-x86-64/property-4a.r: Likewise. + * testsuite/ld-x86-64/property-5.r: Likewise. + * testsuite/ld-x86-64/property-5a.r: Likewise. + * testsuite/ld-x86-64/property-6.r: Likewise. + * testsuite/ld-x86-64/property-7.r: Likewise. + * testsuite/ld-x86-64/property-7a.r: Likewise. + * testsuite/ld-x86-64/property-x86-3-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-3.d: Likewise. + * testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-4a.d: Likewise. + * testsuite/ld-x86-64/property-x86-5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-5.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet1.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt2.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt4.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt5.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk2.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk4.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk5.d: Likewise. + +2019-08-07 Jose E. Marchesi + + * scripttempl/elf64bpf.sc: Adapted from elf.sc. + * emulparams/elf64bpf.sh (SCRIPT_NAME): Use elf64bpf. + (EMBEDDED): Define. + * testsuite/ld-bpf/call-1.d: Do not expect a warning regarding an + undefined entry symbol. + * testsuite/ld-bpf/jump-1.d: Likewise. + * testsuite/ld-undefined/undefined.exp: Do not pass '-e entry' to + ld in BPF targets, and do not expect line number information. + * testsuite/ld-srec/srec.exp (run_srec_test): xfail s-record tests + in BPF targets. + +2019-08-06 Alan Modra + + PR 24873 + * ldlang.c (find_replacements_insert_point): Return "before" flag. + (find_next_input_statement): New function. + (lang_process): When placing recompiled LTO objects before a + claimed archive, place them immediately before in the statement + list. + +2019-08-06 Alan Modra + + PR 24873 + * ldlang.c (plugin_undefs): New static var. + (open_input_bfds ): Loop on + plugin_undefs and hitting plugin_insert point. + (lang_process ): Set plugin_undefs. + +2019-08-02 Alan Modra + + * testsuite/ld-powerpc/tlsie.s: Correct medium model ELF sequence. + +2019-08-01 Alan Modra + + PR 24806 + * ldlang.c (process_insert_statements): Add start of list + parameter. Use rather than lang_os_list.head. Process insert + statements inside group statements with a recursive call. + (lang_process): Adjust process_insert_statements call. + * lexsup.c (parse_args): Warn when adding missing --end-group. + +2019-08-01 Alan Modra + + * ldlang.h (lang_os_list): Rename from lang_output_section_statement. + * ldlang.c: Likewise throughout file. + * emultempl/alphaelf.em: Likewise. + * emultempl/elf32.em: Likewise. + * emultempl/mmo.em: Likewise. + * emultempl/pe.em: Likewise. + * emultempl/pep.em: Likewise. + * emultempl/ppc32elf.em: Likewise. + * emultempl/spuelf.em: Likewise. + +2019-07-26 Alan Modra + + * testsuite/ld-plugin/lto-3r.d: Accept D for powerpc64 descriptors. + * testsuite/ld-plugin/lto-5r.d: Likewise. + +2019-07-24 H.J. Lu + + * testsuite/ld-plugin/lto-3r.d: Restored. Check foo instead + of __gnu_lto_v.*. + * testsuite/ld-plugin/lto-5r.d: Likewise. + * testsuite/ld-plugin/lto.exp: Run lto-3r and lto-5r tests. + +2019-07-24 Claudiu Zissulescu + + * ld-arc/relax-local-pic.d: New test. + * ld-arc/relax-local-pic.s: New file. + +2019-07-22 Martin Liska + + * testsuite/ld-plugin/lto-3r.d: Remove. + * testsuite/ld-plugin/lto-5r.d: Remove. + * testsuite/ld-plugin/lto.exp: Do not run lto-3r and lto-5r + tests. + +2019-07-23 Alan Modra + + * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Condition + SHF_GNU_MBIND on osabi. Set output elf_gnu_osabi_mbind. + +2019-07-23 Alan Modra + + * testsuite/ld-elf/size-1.d, + * testsuite/ld-elf/size-1.s, + * testsuite/ld-elf/size-1.t: New test. + * testsuite/ld-elf/size-2.d, + * testsuite/ld-elf/size-2.s, + * testsuite/ld-elf/size-2.t: New test. + * testsuite/ld-scripts/size-1.d, + * testsuite/ld-scripts/size-1.s, + * testsuite/ld-scripts/size-1.t, + * testsuite/ld-scripts/size-2.s, + * testsuite/ld-scripts/size-2.d, + * testsuite/ld-scripts/size-2.t, + * testsuite/ld-scripts/size.exp: Delete. + +2019-07-22 Srinath Parvathaneni + + * ld/testsuite/ld-arm/cmse_main_sec_debug.d: Modify regexps to + allow for output from a arm-none-linux-gnueabihf target. + +2019-07-20 Alan Modra + + PR 24827 + * ldlex.l (comment): Check for 0 return from YY_INPUT, not EOF. + +2019-07-19 Alan Modra + + * testsuite/ld-powerpc/tlsgd.d, + * testsuite/ld-powerpc/tlsgd.s, + * testsuite/ld-powerpc/tlsie.d, + * testsuite/ld-powerpc/tlsie.s, + * testsuite/ld-powerpc/tlsld.d, + * testsuite/ld-powerpc/tlsld.s: New tests. + * testsuite/ld-powerpc/powerpc.exp: Run them. + +2019-07-19 Alan Modra + + * testsuite/ld-powerpc/tlsldopt.d: Rename from tlsld.d. + * testsuite/ld-powerpc/tlsldopt.s: Rename from tlsld.s. + * testsuite/ld-powerpc/tlsldopt32.d: Rename from tlsld32.d. + * testsuite/ld-powerpc/tlsldopt32.s: Rename from tlsld32.s. + * testsuite/ld-powerpc/powerpc.exp: Update. + +2019-07-19 Alan Modra + + PR 24819 + * testsuite/ld-elf/pr24819.d: xfail for genelf targets. + +2019-07-18 H.J. Lu + + PR ld/24819 + * emultempl/elf32.em (elf_orphan_compatible): Return FALSE for + member of output section group when doing a relocatable link. + * testsuite/ld-elf/pr24819.d: New file. + * testsuite/ld-elf/pr24819.s: Likewise. + +2019-07-13 Alan Modra + + * testsuite/ld-powerpc/tlsso.r: Update. + * testsuite/ld-powerpc/tlsso32.g: Update. + * testsuite/ld-powerpc/tlsso32.r: Update. + * testsuite/ld-powerpc/tlstocso.r: Update. + * testsuite/ld-cris/tls-dso-dtpoffd2.d: Update. + * testsuite/ld-cris/tls-dso-dtpoffd4.d: Update. + * testsuite/ld-cris/tls-dso-tpoffgotcomm1.d: Update. + * testsuite/ld-cris/tls-gd-1.d: Update. + * testsuite/ld-cris/tls-gd-1h.d: Update. + * testsuite/ld-cris/tls-gd-2.d: Update. + * testsuite/ld-cris/tls-gd-2h.d: Update. + * testsuite/ld-cris/tls-ie-10.d: Update. + * testsuite/ld-cris/tls-ie-11.d: Update. + * testsuite/ld-cris/tls-ie-8.d: Update. + * testsuite/ld-cris/tls-ie-9.d: Update. + * testsuite/ld-cris/tls-js1.d: Update. + * testsuite/ld-cris/tls-ld-4.d: Update. + * testsuite/ld-cris/tls-ld-5.d: Update. + * testsuite/ld-cris/tls-ld-6.d: Update. + * testsuite/ld-cris/tls-ld-7.d: Update. + * testsuite/ld-cris/tls-ldgd-14.d: Update. + * testsuite/ld-cris/tls-ldgd-15.d: Update. + * testsuite/ld-cris/tls-ldgdx-14.d: Update. + * testsuite/ld-cris/tls-ldgdx-15.d: Update. + * testsuite/ld-cris/tls-local-54.d: Update. + * testsuite/ld-cris/tls-local-60.d: Update. + * testsuite/ld-cris/tls-local-61.d: Update. + * testsuite/ld-cris/tls-local-63.d: Update. + * testsuite/ld-cris/tls-local-64.d: Update. + * testsuite/ld-cris/tls-ok-30.d: Update. + * testsuite/ld-cris/tls-ok-32.d: Update. + * testsuite/ld-cris/tls-ok-34.d: Update. + * testsuite/ld-mips-elf/tls-multi-got-1.got: Update. + * testsuite/ld-mips-elf/tls-multi-got-1.r: Update. + * testsuite/ld-mips-elf/tlsdyn-pie-o32.d: Update. + * testsuite/ld-mips-elf/tlsdyn-pie-o32.got: Update. + * testsuite/ld-mips-elf/tlslib-o32-hidden.got: Update. + * testsuite/ld-mips-elf/tlslib-o32-ver.got: Update. + * testsuite/ld-mips-elf/tlslib-o32.got: Update. + * testsuite/ld-s390/tlspic.rd: Update. + * testsuite/ld-s390/tlspic_64.rd: Update. + * testsuite/ld-sparc/tlssunnopic32.rd: Update. + * testsuite/ld-sparc/tlssunnopic64.rd: Update. + * testsuite/ld-sparc/tlssunpic32.rd: Update. + * testsuite/ld-sparc/tlssunpic64.rd: Update. + +2019-07-13 Alan Modra + + PR 24786 + * ldlang.h (enum section_type): Add first_overlay_section. + * ldlang.c (lang_add_section): Adjust switch statement. + (map_input_to_output_sections): Likewise. + (lang_size_sections_1): Always set last_os for first overlay section. + (lang_leave_overlay): Set sectype to first_overlay_section. + +2019-07-08 Alan Modra + + * testsuite/ld-powerpc/callstub-1.d: Pass -melf64ppc to ld. + * testsuite/ld-powerpc/callstub-2.d: Likewise. + +2019-07-04 Jan Beulich + + * testsuite/ld-elf/group9.s: Correct argument of .type. + +2019-07-02 Nick Clifton + + PR 24753 + * emultempl/aarch64elf.em (_aarch64_add_stub_section): Include the + LINKER_CREATED section flag when creating the stub section. + +2019-07-02 Srinath Parvathaneni + + * testsuite/ld-arm/arm-elf.exp: Add tests. + * testsuite/ld-arm/cmse_main.s: New test. + * testsuite/ld-arm/cmse_main_sec_debug.d: Likewise. + * testsuite/ld-arm/cmse_sec_debug.s: Likewise. + +2019-07-01 Nick Clifton + + PR 23839 + * testsuite/ld-arm/unwind-4.d: Adjust for corrected calculation of + exidx relocs. + +2019-06-28 Alan Modra + + * testsuite/ld-powerpc/callstub-1.d, + * testsuite/ld-powerpc/callstub-1.s: New test. + * testsuite/ld-powerpc/callstub-2.d, + * testsuite/ld-powerpc/callstub-2.s: New test. + * testsuite/ld-powerpc/powerpc.exp: Run them. + +2019-06-25 Jan Beulich + + * plugin.c (get_lto_kind, get_lto_resolution, + get_lto_visibility): Rename "index" to "idx". + +2019-06-24 H.J. Lu + + PR ld/24721 + * testsuite/ld-x86-64/x86-64.exp: Run PR ld/24721 tests. + * testsuite/ld-x86-64/pr24721-x32.d: New file. + * testsuite/ld-x86-64/pr24721.d: Likewise. + * testsuite/ld-x86-64/pr24721.map: Likewise. + * testsuite/ld-x86-64/pr24721a.s: Likewise. + * testsuite/ld-x86-64/pr24721b.s: Likewise. + +2019-06-23 Alan Modra + + PR 24704 + * testsuite/ld-powerpc/elfv2exe.d: Update. + * testsuite/ld-powerpc/elfv2so.d: Update. + +2019-06-14 Szabolcs Nagy + + * testsuite/ld-aarch64/aarch64-elf.exp: Add emit-relocs-22 and -23. + * testsuite/ld-aarch64/emit-relocs-22.d: New test. + * testsuite/ld-aarch64/emit-relocs-22.s: New test. + * testsuite/ld-aarch64/emit-relocs-23.d: New test. + * testsuite/ld-aarch64/emit-relocs-23.s: New test. + +2019-06-14 Alan Modra + + * Makefile.in: Regenerate. + * configure: Regenerate. + +2019-06-14 Alan Modra + + PR 24662 + * testsuite/ld-alpha/tlsbin.rd: Update. + * testsuite/ld-alpha/tlsbinr.rd: Update. + * testsuite/ld-alpha/tlspic.rd: Update. + +2019-06-07 Maciej W. Rozycki + + * ld.texi (Options): Also document `-rpath' option restrictions + in the description of the option itself. + +2019-06-06 Sudakshina Das + + * testsuite/ld-aarch64/aarch64-elf.exp: Add new tests. + * testsuite/ld-aarch64/property-bti-pac4-a.d: New test. + * testsuite/ld-aarch64/property-bti-pac4-b.d: New test. + * testsuite/ld-aarch64/property-bti-pac4.s: New test. + +2019-06-06 Sudakshina Das + + * NEWS: Update options names. + * emultempl/aarch64elf.em (OPTION_FORCE_BTI, OPTION_PAC_PLT): Remove. + (PARSE_AND_LIST_LONGOPTS): Remove force-bti and pac-plt. + (PARSE_AND_LIST_OPTIONS): Update to -z. + (PARSE_AND_LIST_ARGS_CASE_Z_AARCH64): New. + (PARSE_AND_LIST_ARGS_CASE_Z): Add PARSE_AND_LIST_ARGS_CASE_Z_AARCH64. + (PARSE_AND_LIST_ARGS_CASES): Move cases for these options. + * testsuite/ld-aarch64/bti-pac-plt-1.d: Update option. + * testsuite/ld-aarch64/bti-pac-plt-2.d: Likewise. + * testsuite/ld-aarch64/bti-plt-1.d: Likewise. + * testsuite/ld-aarch64/bti-plt-2.d: Likewise. + * testsuite/ld-aarch64/bti-plt-3.d: Likewise. + * testsuite/ld-aarch64/bti-plt-4.d: Likewise. + * testsuite/ld-aarch64/bti-plt-6.d: Likewise. + * testsuite/ld-aarch64/bti-plt-7.d: Likewise. + * testsuite/ld-aarch64/bti-warn.d: Likewise. + * testsuite/ld-aarch64/pac-plt-1.d: Likewise. + * testsuite/ld-aarch64/pac-plt-2.d: Likewise. + +2019-05-30 Nick Clifton + + PR 24627 + * testsuite/ld-elf/ver_def.vd: Update expected output. + +2019-05-30 Alan Modra + + PR 24596 + * emulparams/m9s12zelf.sh (TEMPLATE_NAME): Set to generic. + (EXTRA_EM_FILE): Define to genelf. + * testsuite/lib/ld-lib.exp (uses_genelf): Add s12z. + +2019-05-30 Alan Modra + + * testsuite/lib/ld-lib.exp (run_ld_link_tests): Support procedure + calls in optional "xfail" args. + (run_ld_link_exec_tests): Likewise. + (is_generic): New. + (uses_genelf): Rename from is_generic_elf. Delete bogus semicolons. + * testsuite/ld-scripts/align.exp: Rename is_generic_elf call. + * testsuite/ld-elf/elf.exp: Use is_generic and uses_genelf. Delete + xfail_implib var. + * testsuite/ld-elf/sec64k.exp: Use is_generic. + * testsuite/ld-elf/shared.exp: Likewise. + * testsuite/ld-discard/extern.d: Use is_generic in xfail. + * testsuite/ld-discard/start.d: Likewise. + * testsuite/ld-discard/static.d: Likewise. + * testsuite/ld-elf/attributes.d: Likewise. + * testsuite/ld-elf/group1.d: Likewise. + * testsuite/ld-elf/group3b.d: Likewise. + * testsuite/ld-elf/group8a.d: Likewise. + * testsuite/ld-elf/group8b.d: Likewise. + * testsuite/ld-elf/group9a.d: Likewise. + * testsuite/ld-elf/group9b.d: Likewise. + * testsuite/ld-elf/linkonce2.d: Likewise. + * testsuite/ld-elf/merge2.d: Likewise. + * testsuite/ld-elf/merge3.d: Likewise. + * testsuite/ld-elf/pr12851.d: Likewise. + * testsuite/ld-elf/pr12975.d: Likewise. + * testsuite/ld-elf/pr13177.d: Likewise. + * testsuite/ld-elf/pr13195.d: Likewise. + * testsuite/ld-elf/pr17550c.d: Likewise. + * testsuite/ld-elf/pr17550d.d: Likewise. + * testsuite/ld-elf/pr17615.d: Likewise. + * testsuite/ld-elf/pr21562a.d: Likewise. + * testsuite/ld-elf/pr21562b.d: Likewise. + * testsuite/ld-elf/pr21562c.d: Likewise. + * testsuite/ld-elf/pr21562d.d: Likewise. + * testsuite/ld-elf/pr21562i.d: Likewise. + * testsuite/ld-elf/pr21562j.d: Likewise. + * testsuite/ld-elf/pr21562k.d: Likewise. + * testsuite/ld-elf/pr21562l.d: Likewise. + * testsuite/ld-elf/pr21562m.d: Likewise. + * testsuite/ld-elf/pr21562n.d: Likewise. + * testsuite/ld-elf/pr22677.d: Likewise. + * testsuite/ld-elf/pr22836-1a.d: Likewise. + * testsuite/ld-elf/pr22836-1b.d: Likewise. + * testsuite/ld-elf/warn3.d: Likewise. + * testsuite/ld-elf/warn1.d: Likewise and xfail sparc solaris + targets rather than notarget. + * testsuite/ld-elf/compressed1d.d: Use uses_genelf in xfail. + * testsuite/ld-elf/orphan-10.d: Likewise. + * testsuite/ld-elf/orphan-9.d: Likewise. + * testsuite/ld-elf/orphan-region.d: Likewise. + * testsuite/ld-elf/orphan.d: Likewise. + * testsuite/ld-elf/orphan3.d: Likewise. + * testsuite/ld-elf/pr20528a.d: Likewise. + * testsuite/ld-elf/pr20528b.d: Likewise. + * testsuite/ld-elf/pr23658-1a.d: Likewise. + * testsuite/ld-elf/pr23658-1b.d: Likewise. + * testsuite/ld-elf/pr349.d: Likewise. + * testsuite/ld-elf/warn2.d: Likewise and xfail sparc solaris + targets rather than notarget. + * testsuite/ld-elf/merge.d: Correct ms1-*-* to mt-*-*. + +2019-05-28 Faraz Shahbazker + + * testsuite/ld-mips-elf/undefweak-overflow.s: Remove test case + for pcrel_hi/pcrel_lo. + * testsuite/ld-mips-elf/undefweak-overflow.d: Update to match. + * testsuite/ld-mips-elf/reloc-pcrel-r6.s: New test source. + * testsuite/ld-mips-elf/reloc-pcrel-r6.d: New test linker script. + * testsuite/ld-mips-elf/reloc-pcrel-r6.ld: New test. + * testsuite/ld-mips-elf/mips-elf.exp: Run the new test. + +2019-05-28 Alan Modra + + PR 24596 + * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Check that + the output is coff before accessing coff tdata. + * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. + +2019-05-28 Szabolcs Nagy + + * testsuite/ld-aarch64/variant_pcs-now.d: Use --hash-style=sysv. + * testsuite/ld-aarch64/variant_pcs-shared.d: Likewise. + +2019-05-27 Alan Modra + + PR 24596 + * emultempl/genelf.em (gld${EMULATION_NAME}_after_open): Set + BFS_KEEP on group signature symbol. + +2019-04-24 Szabolcs Nagy + + * testsuite/ld-aarch64/aarch64-elf.exp: Add new tests. + * testsuite/ld-aarch64/variant_pcs-1.s: New asm for tests. + * testsuite/ld-aarch64/variant_pcs-2.s: New asm for tests. + * testsuite/ld-aarch64/variant_pcs-now.d: New test. + * testsuite/ld-aarch64/variant_pcs-r.d: New test. + * testsuite/ld-aarch64/variant_pcs-shared.d: New test. + * testsuite/ld-aarch64/variant_pcs.ld: New linker script for tests. + +2019-05-24 Alan Modra + + * po/BLD-POTFILES.in: Regenerate. + +2019-05-24 Alan Modra + + * testsuite/ld-powerpc/notoc2.d, + * testsuite/ld-powerpc/notoc2.s: New test. + * testsuite/ld-powerpc/powerpc.exp: Run it. + +2019-05-24 Alan Modra + + * testsuite/ld-powerpc/pcrelopt.s, + * testsuite/ld-powerpc/pcrelopt.d, + * testsuite/ld-powerpc/pcrelopt.sec: New test. + * testsuite/ld-powerpc/powerpc.exp: Run it. + +2019-05-23 Jose E. Marchesi + + * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64bpf.c. + * Makefile.in (prefix): Regenerate. + * configure.tgt (targ_extra_ofiles): Add case for bpf-*-* targets. + * emulparams/elf64bpf.sh: New file. + * testsuite/lib/ld-lib.exp (check_gc_sections_available): Add + bpf-*-* to the list of targets not supporting gc-sections. + * testsuite/ld-bpf/bar.s: New file. + * testsuite/ld-bpf/jump-1.d: Likewise. + * testsuite/ld-bpf/foo.s: Likewise. + * testsuite/ld-bpf/call-1.d: Likewise. + * testsuite/ld-bpf/bpf.exp: Likewise. + * testsuite/ld-bpf/baz.s: Likewise. + +2019-05-23 Alan Modra + + PR 24576 + * ldfile.c (enum script_open_style): New. + (struct script_name_list): New. + (ldfile_open_command_file_1): Take a script_open_style param + rather than booleans. Adjust callers. Only fail when -T or + default -T script is invoked twice. + (ldfile_try_open_bfd): Revert last change. + +2019-05-22 Julius Werner + Nick Clifton + + PR 24576 + * ld/ldfile.c: (ldfile_open_command_file_1): Add new parameter - + is_script. If true check that the file has not already been + parsed as a linker script. + (ldfile_open_script_file): New function. + (ldfile_try_open_bfd): Use the new function in place of + ldfile_open_command_line. + * ldmain.c (main): Likewise. + * lexsup.c (parse_args): Use the new function for opening linker + scripts with the -T option. + * ldfile.h (ldfile_open_script_file): Add prototype. + +2019-05-21 Faraz Shahbazker + + * testsuite/ld-mips-elf/pic-reloc-5.s: Add tests for + %tprel_hi and %tprel_lo relocations. + * testsuite/ld-mips-elf/pic-reloc-6.s: Likewise. + * testsuite/ld-mips-elf/pic-reloc-5.d: Update accordingly. + * testsuite/ld-mips-elf/pic-reloc-6.d: Likewise. + * testsuite/ld-mips-elf/pic-reloc-tls.ld: New test linker + script file. + +2019-05-21 Faraz Shahbazker + + * testsuite/ld-mips-elf/pic-reloc-5.d: New test. + * testsuite/ld-mips-elf/pic-reloc-6.d: New test. + * testsuite/ld-mips-elf/pic-reloc-7.d: New test. + * testsuite/ld-mips-elf/pic-reloc-5.s: New test source. + * testsuite/ld-mips-elf/pic-reloc-6.s: New test source. + * testsuite/ld-mips-elf/pic-reloc-7.s: New test source. + * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. + +2019-05-21 Matthew Fortune + Faraz Shahbazker + + * emultempl/mipself.em (compact_branches): New static variable. + (mips_create_output_section_statements): Call + _bfd_mips_elf_compact_branches. + (PARSE_AND_LIST_PROLOGUE): Add OPTION_COMPACT_BRANCHES and + OPTION_NO_COMPACT_BRANCHES. + (PARSE_AND_LIST_LONGOPTS): Add compact-branches, + no-compact-branches. + (PARSE_AND_LIST_OPTIONS): Add --compact-branches, + --no-compact-branches. + (PARSE_AND_LIST_ARGS_CASES): Handle the above. + * ld.texinfo: Document --compact-branches, --no-compact-branches. + * testsuite/ld-mips-elf/pic-and-nonpic-1-r6.dd: New test. + * testsuite/ld-mips-elf/pic-and-nonpic-1-r6.nd: New test. + * testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.dd: New test. + * testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.gd: New test. + * testsuite/ld-mips-elf/pic-and-nonpic-1a-r6.s: New test source. + * testsuite/ld-mips-elf/pic-and-nonpic-3a-r6.s: New test source. + * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. + +2019-05-21 Andre Vieira + + * testsuite/ld-arm/arm-elf.exp: Add tests + * testsuite/ld-arm/bfs-0.s: New test. + * testsuite/ld-arm/bfs-1.s: New test. + * testsuite/ld-arm/branch-futures.d: New test. + +2019-05-21 Tamar Christina + + PR ld/24373 + * emultempl/aarch64elf.em (PARSE_AND_LIST_LONGOPTS): Add optional args + to flags. + * NEWS: Add changes to flag. + (PARSE_AND_LIST_OPTIONS): Update help descriptions. + (PARSE_AND_LIST_ARGS_CASES): Add new options to parser. + * testsuite/ld-aarch64/aarch64-elf.exp: Add new run_dump_tests. + * testsuite/ld-aarch64/erratum843419-adr.d: New test. + * testsuite/ld-aarch64/erratum843419-adrp.d: New test. + * testsuite/ld-aarch64/erratum843419-far-adr.d: New test. + * testsuite/ld-aarch64/erratum843419-far-full.d: New test. + * testsuite/ld-aarch64/erratum843419-far.s: New test. + * testsuite/ld-aarch64/erratum843419-full.d: New test. + * testsuite/ld-aarch64/erratum843419-near.s: New test. + * testsuite/ld-aarch64/erratum843419-no-args.d: New test. + +2019-05-21 Senthil Kumar Selvaraj + + PR ld/24571 + * ld/testsuite/ld-avr/relax-insn-at-range-boundary.d: New test. + * ld/testsuite/ld-avr/relax-insn-at-range-boundary.s: New test. + +2019-05-21 Senthil Kumar Selvaraj + + PR ld/24564 + * testsuite/ld-avr/wraparound-range-boundary.d: New test. + * testsuite/ld-avr/wraparound-range-boundary.s: New test. + +2019-05-20 Faraz Shahbazker + + PR 14798 + * testsuite/ld-mips-elf/reloc-6a.s: Specify .text section for + global code symbols. + * testsuite/ld-mips-elf/reloc-6b.s: Likewise. + +2019-05-17 Alan Modra + + PR 24567 + * plugin.c (plugin_notice): Do not let a common symbol override + a non-common definition in IR. + +2019-05-09 Dimitar Dimitrov + + * scripttempl/pru.sc (__init_array_begin, __init_array_begin): + Rename. + +2019-05-08 Pekka Seppänen + + PR 24536 + * ldbuildid.c (generate_build_id): Cast return value from + GetProcAddress in order to avoid a compile time warning. + +2019-05-06 Alan Modra + + * testsuite/ld-undefined/weak-undef.exp: Don't xfail pj. + +2019-05-04 Alan Modra + + * testsuite/ld-scripts/fill.d: Don't xfail m32c + * testsuite/ld-scripts/fill16.d: Likewise. + +2019-05-04 Alan Modra + + PR 24511 + * testsuite/ld-elf/pr14156a.d: Allow for .init/.fini being a + data section on hppa64. + * testsuite/ld-elf/pr14156b.d: Likewise. + * testsuite/ld-scripts/pr18963.t: Map standard sections to set + output section flags. + * testsuite/ld-scripts/sane1.t: Likewise. + * testsuite/ld-elf/init-fini-arrays.s: Reference __init_array_start + and __fini_array_start. Define __start et al. + * testsuite/ld-elf/pr24511.d: New test. + +2019-04-30 Alan Modra + + * testsuite/ld-powerpc/elfv2exe.d: Update. + * testsuite/ld-powerpc/elfv2so.d: Update. + * testsuite/ld-powerpc/tocopt.d: Update. + * testsuite/ld-powerpc/tocopt.s: Update. + * testsuite/ld-powerpc/tocopt5.d: Update. + * testsuite/ld-powerpc/tocopt5.s: Update. + * testsuite/ld-powerpc/tocopt7.d: Update. + * testsuite/ld-powerpc/tocopt7.s: Update. + * testsuite/ld-powerpc/tocopt8.d: Update. + * testsuite/ld-powerpc/tocopt8.s: Update. + +2019-04-30 Alan Modra + + * ld.texi (How GNU properties are merged): Avoid pod2man error. + Correct example. + +2019-04-26 H.J. Lu + + PR ld/24486 + * testsuite/ld-plugin/lto.exp: Run PR ld/24486 tests. + * testsuite/ld-plugin/pr24486a.c: New file. + * testsuite/ld-plugin/pr24486b.c: Likewise. + * testsuite/ld-plugin/pr24486c.c: Likewise. + +2019-04-26 Nick Clifton + + * po/ru.po: Updated Russian translation. + +2019-04-26 Christopher Yeleighton + + * ld.texi: Properly hyphenate the word "specific". + +2019-04-25 H.J. Lu + + PR ld/24406 + * ld.texi: Remove LTO warning from --wrap. + * plugin.c (get_symbols): Update resolution for wrapper and + wrapped symbols. + * testsuite/ld-plugin/lto.exp: Run ld/24406 tests. + * testsuite/ld-plugin/pr24406-1.c: New file. + * testsuite/ld-plugin/pr24406-2a.c: Likewise. + * testsuite/ld-plugin/pr24406-2b.c: Likewise. + +2019-04-25 Sudakshina Das + + * testsuite/ld-aarch64/bti-pac-plt-1.d: Update. + * testsuite/ld-aarch64/bti-pac-plt-2.d: Update. + * testsuite/ld-aarch64/bti-plt-1.d: Update. + * testsuite/ld-aarch64/bti-plt-3.d: Update. + * testsuite/ld-aarch64/bti-plt-5.d: Update. + * testsuite/ld-aarch64/pac-plt-1.d: Update. + * testsuite/ld-aarch64/pac-plt-2.d: Update. + +2019-04-24 Sandra Loosemore + + * testsuite/config/default.exp: Use [check_compiler_available] + instead of [which $CC]. + * testsuite/ld-auto-import/auto-import.exp: Likewise. + * testsuite/ld-cygwin/exe-export.exp: Likewise. + * testsuite/ld-elf/audit.exp: Likewise. + * testsuite/ld-elf/compress.exp: Likewise. + * testsuite/ld-elf/dwarf.exp: Likewise. + * testsuite/ld-elf/elf.exp: Likewise. + * testsuite/ld-elf/indirect.exp: Likewise. + * testsuite/ld-elf/linux-x86.exp: Likewise. + * testsuite/ld-elf/shared.exp: Likewise. + * testsuite/ld-elf/tls.exp: Likewise. + * testsuite/ld-elf/wrap.exp: Likewise. + * testsuite/ld-elfcomm/elfcomm.exp: Likewise. + * testsuite/ld-elfvers/vers.exp: Likewise. + * testsuite/ld-elfvsb/elfvsb.exp: Likewise. + * testsuite/ld-elfweak/elfweak.exp: Likewise. + * testsuite/ld-gc/gc.exp: Likewise. + * testsuite/ld-i386/i386.exp: Likewise. + * testsuite/ld-i386/no-plt.exp: Likewise. + * testsuite/ld-i386/tls.exp: Likewise. + * testsuite/ld-ifunc/ifunc.exp: Likewise. + * testsuite/ld-mn10300/mn10300.exp: Likewise. + * testsuite/ld-pe/pe-compile.exp: Likewise. + * testsuite/ld-pe/pe-run.exp: Likewise. + * testsuite/ld-pe/pe-run2.exp: Likewise. + * testsuite/ld-pie/pie.exp: Likewise. + * testsuite/ld-plugin/lto.exp: Likewise. + * testsuite/ld-plugin/plugin.exp: Likewise. + * testsuite/ld-scripts/crossref.exp: Likewise. + * testsuite/ld-sh/sh.exp: Likewise. + * testsuite/ld-shared/shared.exp: Likewise. + * testsuite/ld-size/size.exp: Likewise. + * testsuite/ld-srec/srec.exp: Likewise. + * testsuite/ld-undefined/undefined.exp: Likewise. + * testsuite/ld-unique/unique.exp: Likewise. + * testsuite/ld-x86-64/mpx.exp: Likewise. + * testsuite/ld-x86-64/no-plt.exp: Likewise. + * testsuite/ld-x86-64/tls.exp: Likewise. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Call + check_compiler_available before trying to use the compiler. + (run_cc_link_tests): Likewise. + (check_compiler_available): New. Use it instead of [which $CC]. + +2019-04-23 Alan Modra + + * Makefile.am (GENDEPDIR): New var, used.. + (GENSCRIPTS): ..here. + * Makefile.in: Regenerate. + * genscripts.sh: Test for $DEPDIR set before every use. + +2019-04-22 Matthew Fortune + + * testsuite/ld-mips-elf/mips-elf-flags.exp: Fix expected ASEs + for M5100. + +2019-04-19 Alan Modra + + * testsuite/ld-gc/skip-map-discarded.s: Add section attributes. + * testsuite/lib/ld-lib.exp (check_gc_sections_available): Add + s12z to list of targets not supporting --gc-sections. + +2019-04-17 H.J. Lu + + * testsuite/ld-i386/i386.exp: Run pr18801a and pr18801b instead + of pr18801. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/ld-i386/pr18801.d: Removed. + * testsuite/ld-x86-64/pr18801.d: Likewise. + * testsuite/ld-i386/pr18801a.d: New file. + * testsuite/ld-i386/pr18801b.d: Likewise. + * testsuite/ld-x86-64/pr18801a.d: Likewise. + * testsuite/ld-x86-64/pr18801b.d: Likewise. + * testsuite/ld-x86-64/pie2.d: Suggest -fPIE instead of -fPIC. + * testsuite/ld-x86-64/pie2.d: Likewise. + * testsuite/ld-x86-64/pr19719.d: Likewise. + * testsuite/ld-x86-64/pr19807-2a.d: Likewise. + * testsuite/ld-x86-64/pr19969.d: Likewise. + * testsuite/ld-x86-64/pr21997-1a.err: Likewise. + * testsuite/ld-x86-64/pr21997-1b.err: Likewise. + * testsuite/ld-x86-64/pr22001-1a.err: Likewise. + * testsuite/ld-x86-64/pr22001-1b.err: Likewise. + * testsuite/ld-x86-64/pr22791-1.err: Likewise. + +2019-04-17 H.J. Lu + + PR ld/24458 + * testsuite/ld-x86-64/x86-64.exp: Run PR ld/24458 tests. + * testsuite/ld-x86-64/pr24458.s: New file. + * testsuite/ld-x86-64/pr24458a-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458a.d: Likewise. + * testsuite/ld-x86-64/pr24458b-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458b.d: Likewise. + * testsuite/ld-x86-64/pr24458c-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458c.d: Likewise. + +2019-04-17 Jozef Lawrynowicz + + * config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss + symbol when .lower.bss or .either.bss sections exist. + Define __crt0_movedata when .lower.data or .either.data sections exist. + * testsuite/gas/msp430/either-data-bss-sym.d: New test. + * testsuite/gas/msp430/low-data-bss-sym.d: New test. + * testsuite/gas/msp430/either-data-bss-sym.s: New test source. + * testsuite/gas/msp430/low-data-bss-sym.s: New test source. + * testsuite/gas/msp430/msp430.exp: Run new tests. + Enable large code model when running -mdata-region={upper,either} + tests. + +2019-04-16 Alan Modra + + * testsuite/ld-scripts/pr20302.d: Don't run for ns32k-*-*. + * testsuite/ld-scripts/section-match-1.d: Likewise. + * testsuite/ld-undefined/require-defined.exp: Likewise. + +2019-04-15 Faraz Shahbazker + + * testsuite/ld-gc/gc.exp: Skip print-map-discarded test for non-ELF + targets. + +2019-04-15 Sudakshina Das + + * testsuite/ld-arm/bfcsel.s: New. + * testsuite/ld-arm/bfcsel.d: New. + * testsuite/ld-arm/arm-elf.exp: Add above test. + +2019-04-15 Sudakshina Das + + * testsuite/ld-arm/bfl.s: New. + * testsuite/ld-arm/bfl.d: New. + * testsuite/ld-arm/arm-elf.exp: Add above test. + +2019-04-15 Sudakshina Das + + * testsuite/ld-arm/bf.s: New. + * testsuite/ld-arm/bf.d: New. + * testsuite/ld-arm/arm-elf.exp: Add above test. + +2019-04-15 Thomas Preud'homme + + * testsuite/ld-arm/attr-merge-13.attr: New test. + * testsuite/ld-arm/attr-merge-13a.s: New test. + * testsuite/ld-arm/attr-merge-13b.s: New test. + +2019-04-13 Alan Modra + + * Makefile.am (GENSCRIPTS): Pass LIB_PATH as a parameter. Add + DEPDIR parameter. + (ELF_DEPS, ELF_GEN_DEPS, ELF_X86_DEPS): Delete. + (ALL_EMULATION_SOURCES, ALL_64_EMULATION_SOURCES): Depend on + $GEN_DEPENDS. + (e*.c): Delete all dependencies, instead include dependencies + from $DEPDIR/*.Pc. + * Makefile.in: Regenerate. + * configure.ac (source_sh): Define and use function. + * configure: Regenerate. + * emulparams/aarch64cloudabib.sh, * emulparams/aarch64elf32b.sh, + * emulparams/aarch64elfb.sh, * emulparams/aarch64fbsdb.sh, + * emulparams/aarch64linux32b.sh, * emulparams/aarch64linuxb.sh, + * emulparams/arcelf.sh, * emulparams/arcelf_prof.sh, + * emulparams/arclinux.sh, * emulparams/arclinux_nps.sh, + * emulparams/arclinux_prof.sh, * emulparams/arcv2elf.sh, + * emulparams/arcv2elfx.sh, * emulparams/armelf_fbsd.sh, + * emulparams/armelf_linux_eabi.sh, + * emulparams/armelf_linux_fdpiceabi.sh, + * emulparams/armelf_nacl.sh, * emulparams/armelf_nbsd.sh, + * emulparams/armelf_vxworks.sh, * emulparams/armelfb.sh, + * emulparams/armelfb_fbsd.sh, * emulparams/armelfb_fuchsia.sh, + * emulparams/armelfb_linux.sh, * emulparams/armelfb_linux_eabi.sh, + * emulparams/armelfb_linux_fdpiceabi.sh, + * emulparams/armelfb_nacl.sh, * emulparams/armelfb_nbsd.sh, + * emulparams/armsymbian.sh, * emulparams/cskyelf_linux.sh, + * emulparams/elf32_sparc_sol2.sh, + * emulparams/elf32_sparc_vxworks.sh, * emulparams/elf32_tic6x_be.sh, + * emulparams/elf32_tic6x_elf_be.sh, + * emulparams/elf32_tic6x_elf_le.sh, + * emulparams/elf32_tic6x_linux_be.sh, + * emulparams/elf32_tic6x_linux_le.sh, + * emulparams/elf32_x86_64.sh, * emulparams/elf32_x86_64_nacl.sh, + * emulparams/elf32b4300.sh, * emulparams/elf32bfinfd.sh, + * emulparams/elf32bmipn32.sh, * emulparams/elf32bsmip.sh, + * emulparams/elf32btsmip.sh, * emulparams/elf32btsmip_fbsd.sh, + * emulparams/elf32btsmipn32.sh, * emulparams/elf32btsmipn32_fbsd.sh, + * emulparams/elf32ebmip.sh, * emulparams/elf32ebmipvxworks.sh, + * emulparams/elf32elmip.sh, * emulparams/elf32elmipvxworks.sh, + * emulparams/elf32frvfd.sh, * emulparams/elf32l4300.sh, + * emulparams/elf32lm32fd.sh, * emulparams/elf32lmip.sh, + * emulparams/elf32lppc.sh, * emulparams/elf32lppclinux.sh, + * emulparams/elf32lppcnto.sh, * emulparams/elf32lppcsim.sh, + * emulparams/elf32lr5900.sh, * emulparams/elf32lr5900n32.sh, + * emulparams/elf32lriscv.sh, * emulparams/elf32lriscv_ilp32.sh, + * emulparams/elf32lriscv_ilp32f.sh, * emulparams/elf32lsmip.sh, + * emulparams/elf32ltsmip.sh, * emulparams/elf32ltsmip_fbsd.sh, + * emulparams/elf32ltsmipn32.sh, * emulparams/elf32ltsmipn32_fbsd.sh, + * emulparams/elf32microblazeel.sh, * emulparams/elf32or1k_linux.sh, + * emulparams/elf32ppc.sh, * emulparams/elf32ppc_fbsd.sh, + * emulparams/elf32ppccommon.sh, * emulparams/elf32ppclinux.sh, + * emulparams/elf32ppcnto.sh, * emulparams/elf32ppcsim.sh, + * emulparams/elf32ppcvxworks.sh, * emulparams/elf32ppcwindiss.sh, + * emulparams/elf32tilegx_be.sh, * emulparams/elf64_ia64_fbsd.sh, + * emulparams/elf64_sparc_fbsd.sh, * emulparams/elf64_sparc_sol2.sh, + * emulparams/elf64alpha_fbsd.sh, * emulparams/elf64alpha_nbsd.sh, + * emulparams/elf64bmip-defs.sh, * emulparams/elf64bmip.sh, + * emulparams/elf64btsmip.sh, * emulparams/elf64btsmip_fbsd.sh, + * emulparams/elf64lppc.sh, * emulparams/elf64lriscv-defs.sh, + * emulparams/elf64lriscv.sh, * emulparams/elf64lriscv_lp64.sh, + * emulparams/elf64lriscv_lp64f.sh, * emulparams/elf64ltsmip.sh, + * emulparams/elf64ltsmip_fbsd.sh, * emulparams/elf64ppc.sh, + * emulparams/elf64ppc_fbsd.sh, * emulparams/elf64rdos.sh, + * emulparams/elf64tilegx_be.sh, * emulparams/elf_i386.sh, + * emulparams/elf_i386_be.sh, * emulparams/elf_i386_fbsd.sh, + * emulparams/elf_i386_ldso.sh, * emulparams/elf_i386_nacl.sh, + * emulparams/elf_i386_sol2.sh, * emulparams/elf_i386_vxworks.sh, + * emulparams/elf_iamcu.sh, * emulparams/elf_k1om.sh, + * emulparams/elf_k1om_fbsd.sh, * emulparams/elf_l1om.sh, + * emulparams/elf_l1om_fbsd.sh, * emulparams/elf_x86_64.sh, + * emulparams/elf_x86_64_cloudabi.sh, + * emulparams/elf_x86_64_fbsd.sh, * emulparams/elf_x86_64_nacl.sh, + * emulparams/elf_x86_64_sol2.sh, * emulparams/h8300helf.sh, + * emulparams/h8300helf_linux.sh, * emulparams/h8300hnelf.sh, + * emulparams/h8300self.sh, * emulparams/h8300self_linux.sh, + * emulparams/h8300snelf.sh, * emulparams/h8300sxelf.sh, + * emulparams/h8300sxelf_linux.sh, * emulparams/h8300sxnelf.sh, + * emulparams/hppanbsd.sh, * emulparams/hppaobsd.sh, + * emulparams/m32rlelf.sh, * emulparams/m32rlelf_linux.sh, + * emulparams/m68kelfnbsd.sh, * emulparams/mn10300.sh, + * emulparams/msp430X.sh, * emulparams/nds32belf.sh, + * emulparams/nds32belf16m.sh, * emulparams/nds32belf_linux.sh, + * emulparams/pjlelf.sh, * emulparams/ppclynx.sh, + * emulparams/score7_elf.sh, * emulparams/shelf_fd.sh, + * emulparams/shelf_linux.sh, * emulparams/shelf_nbsd.sh, + * emulparams/shelf_uclinux.sh, * emulparams/shelf_vxworks.sh, + * emulparams/shl.sh, * emulparams/shlelf.sh, + * emulparams/shlelf_fd.sh, * emulparams/shlelf_nbsd.sh, + * emulparams/shlelf_vxworks.sh: Use source_sh. + * genscripts.sh: Adjust for changed parameters. Emit dependencies + for e*.c to .deps/*.Pc. + (source_sh): New function, use it throughout to source scripts. + * genscrba.sh (source_em): Use source_sh. + +2019-04-13 Alan Modra + + * configure.ac (TDIRS): Build up tdirs in this variable and + AC_SUBST, also using AM_SUBST_NOTMAKE. + * configure: Regenerate. + * Makefile.am (DISTCLEANFILES): Remove tdirs. + * Makefile.in: Regenerate. + +2019-04-12 Nick Clifton + + PR 24450 + * ld.texi (Output Section Attributes): Add ALIGN_WITH_INPUT to + example of section attributes. + +2019-04-11 Faraz Shahbazker + + * NEWS: Mention new option --no-print-map-discarded. + * ld.h (ld_config_type) : New field. + * ldlang.c (lang_map): Conditionally output discarded sections + in map files based on configuration option. + * ldlex.h (option_values) : New. + * ldmain.c (main): Enabled print_map_discarded by default. + * lexsup.c (ld_options): Add new command-line options. + (parse_args) : New cases. + * ld.texi: Document new options. + * testsuite/ld-gc/gc.exp: Add new test. + * testsuite/ld-gc/skip-map-discarded.s: New file. + * testsuite/ld-gc/skip-map-discarded.d: New file. + * testsuite/ld-gc/skip-map-discarded.map: New file. + +2019-04-11 H.J. Lu + + * ld.texi: Document -z cet-report=[none|warning|error]. + * emulparams/cet.sh: Add -z cet-report=[none|warning|error]. + * testsuite/ld-i386/i386.exp: Run -z cet-report=[warning|error] + tests. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/ld-i386/property-x86-cet1.d: New file. + * testsuite/ld-i386/property-x86-cet2a.d: Likewise. + * testsuite/ld-i386/property-x86-cet2b.d: Likewise. + * testsuite/ld-i386/property-x86-cet3a.d: Likewise. + * testsuite/ld-i386/property-x86-cet3b.d: Likewise. + * testsuite/ld-i386/property-x86-cet4a.d: Likewise. + * testsuite/ld-i386/property-x86-cet4b.d: Likewise. + * testsuite/ld-i386/property-x86-cet5a.d: Likewise. + * testsuite/ld-i386/property-x86-cet5b.d: Likewise. + * testsuite/ld-i386/property-x86-cet6.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet.s: Likewise. + * testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet1.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2b.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet4a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet4a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet4b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet4b.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5b.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet6-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet6.d: Likewise. + +2019-04-11 H.J. Lu + + * testsuite/config/default.exp (STATIC_PIE_LDFLAGS): New. Set + to "-static-pie" if target compiler supports it. + * testsuite/ld-elf/elf.exp: Run -static-pie tests if + $STATIC_PIE_LDFLAGS isn't empty. + * testsuite/ld-ifunc/ifunc.exp: Likewise. + +2019-04-11 Tamar Christina + + PR ld/24302 + * testsuite/ld-aarch64/aarch64-elf.exp: Add new test. + * testsuite/ld-aarch64/tls-relax-gdesc-le-now.d: New test. + +2019-04-10 H.J. Lu + + * scripttempl/elf.sc (CREATE_PIC): New. Set for CREATE_SHLIB or + CREATE_PIE. + (__rel_iplt_start): Don't define for CREATE_PIC. + (__rel_iplt_end): Likewise. + (__rela_iplt_start): Likewise. + (__rela_iplt_end): Likewise. + +2019-04-10 Alan Modra + + * testsuite/ld-elf/shared.exp: Don't xfail PR ld/20995 for + powerpc-nto. + +2019-04-10 Alan Modra + + * emultempl/cskyelf.em (csk_elf_before_parse): New function, + setting use_branch_stub false for linux. + (csky_elf_create_output_section_statements): Do emit this + function and all others in the file for linux, plus the branch + option control. Disable branch stubs when non-ELF. + +2019-04-10 Alan Modra + + * Makefile.am (eskyelf.c, eskyelf_linux.c): Depend on cskyelf.em. + (ecskyelf_linux.c): Depend on cskyelf.sh. + (eelf32microblazeel.c): Depend on elf32microblaze.sh. + * Makefile.in: Regenerate. + * emulparams/cskyelf.sh: Comment regarding cskelf_linux.sh. + (PAGE_SIZE): Don't define. + * emulparams/cskyelf_linux.sh: Source sckyelf.sh, leaving just + the differing variable defs/undefs. + * emulparams/elf32mcore.sh (PAGE_SIZE): Don't define. + * emulparams/elf32microblaze.sh: Comment re. elf32microblazeel.sh. + (OUTPUT_FORMAT): Use BIG_OUTPUT_FORMAT. + (PAGE_SIZE): Don't define. + * emulparams/elf32microblazeel.sh: Source elf32microblaze.sh, + leaving just the differing OUTPUT_FORMAT. + +2019-04-10 Alan Modra + + * po/BLD-POTFILES.in: Regenerate. + +2019-04-08 H.J. Lu + + * testsuite/ld-elf/shared.exp: XFAIL PR ld/20995 tests for + lynxos and nto targets. + +2019-04-08 H.J. Lu + + * Makefile.am (ALL_EMULATION_SOURCES): Remove eelf_i386_chaos.c. + (eelf_i386_chaos.c): Removed. + * Makefile.in: Regenerated. + * configure.tgt: Remove i[3-7]86-*-kaos*. + * emulparams/elf_i386_chaos.sh: Removed. + +2019-04-08 H.J. Lu + + * emulparams/elf_i386_be.sh (EXTRA_EM_FILE): New. + * emulparams/i386moss.sh (EXTRA_EM_FILE): Likewise. + +2019-04-08 Alan Modra + + * emulparams/elf64rdos.sh (EXTRA_EM_FILE): Define. + * emulparams/i386lynx.sh (EXTRA_EM_FILE): Define. + * emulparams/i386nto.sh (EXTRA_EM_FILE): Define. + +2019-04-06 H.J. Lu + + * Makefile.am (ELF_X86_DEPS): Add $(srcdir)/emultempl/elf-x86.em. + (eelf_i386_sol2.c): Also depend on + $(srcdir)/emultempl/solaris2-x86.em. + (eelf_x86_64_sol2.c): Likewise. + * Makefile.in: Regenerated. + * emulparams/call_nop.sh: Set x86-specific linker options via + params. + * emulparams/cet.sh: Likewise. + * emulparams/reloc_overflow.sh: Likewise. + * emulparams/elf32_x86_64.sh (EXTRA_EM_FILE): New. Set to + "elf-x86". + * emulparams/elf_i386.sh: Likewise. + * emulparams/elf_i386_be.sh: Likewise. + * emulparams/elf_i386_chaos.sh: Likewise. + * emulparams/elf_i386_ldso.sh: Likewise. + * emulparams/elf_i386_vxworks.sh: Likewise. + * emulparams/elf_iamcu.sh: Likewise. + * emulparams/elf_k1om.sh: Likewise. + * emulparams/elf_l1om.sh: Likewise. + * emulparams/elf_x86_64.sh: Likewise. + * emulparams/elf_i386_sol2.sh (EXTRA_EM_FILE): Changed to + "solaris2-x86". + * emulparams/elf_x86_64_sol2.sh: Likewise. + * emultempl/elf-x86.em: New file. + * emultempl/solaris2-x86.em: Likewise. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Don't + set link_info.call_nop_byte. + +2019-04-05 Alan Modra + + * testsuite/ld-powerpc/tlsexe32.d: Remove trailing spaces. + * testsuite/ld-powerpc/tlsopt5.d: Likewise. + * testsuite/ld-powerpc/tlsopt5_32.d: Likewise. + +2019-04-03 Alan Modra + + PR 24411 + ldlex.l (SYMBOLNAMECHAR1): Don't match '/'. + ("/DISCARD/"): New. + +2019-04-03 Alan Modra + + * ldlex.l: Formatting. + (CMDFILENAMECHAR, CMDFILENAMECHAR1): Delete. + (FILENAMECHAR1, SYMBOLNAMECHAR1, FILENAMECHAR, WILDCHAR), + (NOCFILENAMECHAR): Remove duplicate chars. Reorder. + (SYMBOLCHARN): Likewise. Rename to SYMBOLNAMECHAR. + ("$SYSROOT"..): Delete rule. + +2019-03-29 Max Filippov + + * testsuite/ld-xtensa/relax-undef-weak-pie-export-dynamic.d: New + test definition. + * testsuite/ld-xtensa/xtensa.exp + (relax-undef-weak-pie-export-dynamic): Add new test. + +2019-03-26 Martin Liska + + * plugin.c (get_symbols): Add lto_kind_str, lto_resolution_str, + lto_visibility_str and use then to inform about plugin-symbols. + * testsuite/ld-plugin/plugin-12.d: Adjust expected pattern. + +2019-03-25 Tamar Christina + + * testsuite/ld-arm/jump-reloc-veneers-cond-long.d: Update disassembly. + * testsuite/ld-arm/jump-reloc-veneers-long.d: Update disassembly. + +2019-03-21 Sudakshina Das + + * testsuite/ld-aarch64/aarch64-elf.exp: Add new test. + * testsuite/ld-aarch64/bti-plt-1.s: Add .ifdef for PAC note section. + * testsuite/ld-aarch64/bti-plt-6.d: Update warning. + * testsuite/ld-aarch64/bti-plt-7.d: Likewise. + * testsuite/ld-aarch64/bti-warn.d: New test. + +2019-03-21 Alan Modra + + * testsuite/ld-elf/fini2.s: Reduce alignment. + * testsuite/ld-elf/fini3.s: Likewise. + * testsuite/ld-elf/finin.s: Likewise. + * testsuite/ld-elf/init2.s: Likewise. + * testsuite/ld-elf/init3.s: Likewise. + * testsuite/ld-elf/initn.s: Likewise. + * testsuite/ld-elf/pr14156a.d: Don't xfail m68hc1*-* or xgate-*. + * testsuite/ld-elf/pr14156b.d: Don't xfail xgate-*. + +2019-03-21 Alan Modra + + * scripttempl/alpha.sc, * scripttempl/armbpabi.sc, + * scripttempl/crisaout.sc, * scripttempl/elf32cr16.sc, + * scripttempl/elf32crx.sc, * scripttempl/elf32xc16x.sc, + * scripttempl/elf32xc16xl.sc, * scripttempl/elf32xc16xs.sc, + * scripttempl/elf64hppa.sc, * scripttempl/elf_chaos.sc, + * scripttempl/elfarc.sc, * scripttempl/elfarcv2.sc, + * scripttempl/elfd30v.sc, * scripttempl/elfm68hc11.sc, + * scripttempl/elfm68hc12.sc, * scripttempl/elfm9s12z.sc, + * scripttempl/elfmicroblaze.sc, * scripttempl/elfxgate.sc, + * scripttempl/elfxtensa.sc, * scripttempl/epiphany_4x4.sc, + * scripttempl/ft32.sc, * scripttempl/i386beos.sc, + * scripttempl/iq2000.sc, * scripttempl/mcorepe.sc, + * scripttempl/mep.sc, * scripttempl/mips.sc, * scripttempl/moxie.sc, + * scripttempl/pe.sc, * scripttempl/pep.sc, * scripttempl/ppcpe.sc, + * scripttempl/tic4xcoff.sc, * scripttempl/tic80coff.sc, + * scripttempl/v850.sc, * scripttempl/v850_rh850.sc, + * scripttempl/visium.sc, * scripttempl/xstormy16.sc: Add KEEP and + SORT_NONE to .init and .fini wildcards. + * scripttempl/elf32xc16x.sc, + * scripttempl/elf32xc16xl.sc, + * scripttempl/elf32xc16xs.sc: Add .fini wildcard. + * scripttempl/elf_chaos.sc: Add .init output section. + * scripttempl/elfd30v.sc: Remove duplicate .init. + * scripttempl/elfm68hc11.sc, * scripttempl/elfm68hc12.sc, + * scripttempl/elfm9s12z.sc, * scripttempl/elfxgate.sc: Remove + duplicate .init, and add .fini wildcard. + * scripttempl/ppcpe.sc (INIT, FINI): Delete. + * ldlang.c (update_wild_statements): Special case .init and + .fini in the wildcard, not the output section. + +2019-03-21 Alan Modra + + * emulparams/elf32lm32fd.sh (DYNAMIC_LINK): Undef. + +2019-03-21 Alan Modra + + * ldlang.c (lang_size_sections_1): Set SEC_KEEP on + create_object_symbols_section. + * testsuite/ld-elf/pr22319.d: Don't xfail dlx. + +2019-03-18 Alan Modra + + * testsuite/ld-elf/merge.d: Remove csky from xfails, add moxie. + * testsuite/ld-elf/pr21884.d: Remove csky from xfails. + * testsuite/ld-elf/shared.exp: Add csky to list not xfailing pr22374. + * testsuite/ld-unique/pr21529.d: Remove csky from xfails + +2019-03-15 Nick Clifton + + PR 24262 + * ld.texi (-plugin): Correct the path used to locate linker + plugins. + +2019-03-13 Sudakshina Das + + * NEWS: Document --pac-plt. + * emultempl/aarch64elf.em (OPTION_PAC_PLT): New. + (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add pac-plt. + (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_PAC_PLT. + * testsuite/ld-aarch64/aarch64-elf.exp: Add the following tests. + * testsuite/ld-aarch64/bti-pac-plt-1.d: New test. + * testsuite/ld-aarch64/bti-pac-plt-2.d: New test. + * testsuite/ld-aarch64/pac-plt-1.d: New test. + * testsuite/ld-aarch64/pac-plt-2.d: New test. + * testsuite/ld-aarch64/bti-plt-1.s: Add .ifndef directive. + +2019-03-13 Sudakshina Das + Szabolcs Nagy + + * NEWS: Document --force-bti. + * emultempl/aarch64elf.em (plt_type, bti_type, OPTION_FORCE_BTI): New. + (PARSE_AND_LIST_SHORTOPTS, PARSE_AND_LIST_OPTIONS): Add force-bti. + (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_FORCE_BTI. + * testsuite/ld-aarch64/aarch64-elf.exp: Add all the tests below. + * testsuite/ld-aarch64/bti-plt-1.d: New test. + * testsuite/ld-aarch64/bti-plt-1.s: New test. + * testsuite/ld-aarch64/bti-plt-2.d: New test. + * testsuite/ld-aarch64/bti-plt-3.d: New test. + * testsuite/ld-aarch64/bti-plt-4.d: New test. + * testsuite/ld-aarch64/bti-plt-5.d: New test. + * testsuite/ld-aarch64/bti-plt-6.d: New test. + * testsuite/ld-aarch64/bti-plt-7.d: New test. + * testsuite/ld-aarch64/bti-plt-so.s: New test. + * testsuite/ld-aarch64/bti-plt.ld: New test. + +2019-03-13 Sudakshina Das + + * NEWS: Document GNU_PROPERTY_AARCH64_FEATURE_1_BTI and + GNU_PROPERTY_AARCH64_FEATURE_1_PAC. + * testsuite/ld-aarch64/aarch64-elf.exp: Add run commands for new tests. + * testsuite/ld-aarch64/property-bti-pac1.d: New test. + * testsuite/ld-aarch64/property-bti-pac1.s: New test. + * testsuite/ld-aarch64/property-bti-pac2.d: New test. + * testsuite/ld-aarch64/property-bti-pac2.s: New test. + * testsuite/ld-aarch64/property-bti-pac3.d: New test. + +2019-03-13 H.J. Lu + + PR ld/24322 + * testsuite/ld-i386/i386.exp: Run PR ld/24322 tests. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/ld-i386/pr24322a.d: New file. + * testsuite/ld-i386/pr24322b.d: Likewise. + * testsuite/ld-x86-64/pr24322a-x32.d: Likewise. + * testsuite/ld-x86-64/pr24322a.d: Likewise. + * testsuite/ld-x86-64/pr24322b-x32.d: Likewise. + * testsuite/ld-x86-64/pr24322b.d: Likewise. + * testsuite/ld-x86-64/pr24322a.s: Likewise. + * testsuite/ld-x86-64/pr24322b.s: Likewise. + * testsuite/ld-x86-64/pr24322c.s: Likewise. + +2019-03-06 Nick Bowler + + PR 24289 + * ldexp.c (fold_name): Allow lookups of the LENGTH and ORIGIN + attributes during the first phase. + +2019-03-01 Andreas Krebbel + + This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335. + 2019-01-14 Maamoun Tarsha + + PR 20113 + * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. + * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. + * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. + * testsuite/ld-s390/tlsbin.dd: Likewise. + * testsuite/ld-s390/tlsbin.rd: Likewise. + * testsuite/ld-s390/tlsbin.sd: Likewise. + * testsuite/ld-s390/tlsbin_64.dd: Likewise. + * testsuite/ld-s390/tlsbin_64.rd: Likewise. + * testsuite/ld-s390/tlsbin_64.sd: Likewise. + * testsuite/ld-s390/tlspic.dd: Likewise. + * testsuite/ld-s390/tlspic.rd: Likewise. + * testsuite/ld-s390/tlspic.sd: Likewise. + * testsuite/ld-s390/tlspic_64.dd: Likewise. + * testsuite/ld-s390/tlspic_64.rd: Likewise. + * testsuite/ld-s390/tlspic_64.sd: Likewise. + * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets. + +2019-02-27 H.J. Lu + + PR ld/24276 + * testsuite/ld-i386/i386.exp: Run PR ld/24276 test. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/ld-i386/pr24276.dso: New file. + * testsuite/ld-i386/pr24276.warn: Likewise. + * testsuite/ld-x86-64/pr24276.dso: Likewise. + * testsuite/ld-x86-64/pr24276.warn: Likewise. + +2019-02-20 Eric Tsai + + * testsuite/ld-xtensa/call_overflow.d: New test definition. + * testsuite/ld-xtensa/call_overflow1.s: New test source. + * testsuite/ld-xtensa/call_overflow2.s: New test source. + * testsuite/ld-xtensa/call_overflow3.s: New test source. + * testsuite/ld-xtensa/xtensa.exp: Add call_overflow test. + +2019-02-14 Thomas Schwinge + + * testsuite/ld-elf/elf.exp: Remove Hurd XFAILs. + +2019-02-12 Nick Clifton + + * po/fr.po: Updated French translation. + +2019-02-09 Vineet Gupta + + * emultempl/arclinux.em: Delete special INIT/FINI handling. + +2019-02-07 Nick Clifton + + PR 24175 + * ld.texi (Options): Add missing word to the description of the + --start-group option. + +2019-02-06 Alan Modra + + PR ld/24008 + * testsuite/ld-scripts/pr24008.d: Pass with extra target + defined symbols. + +2019-02-05 H.J. Lu + + PR ld/24151 + * testsuite/ld-x86-64/pr24151a-x32.d: New file. + * testsuite/ld-x86-64/pr24151a.d: Likewise. + * testsuite/ld-x86-64/pr24151a.s: Likewise. + * testsuite/ld-x86-64/x86-64.exp: Run pr24151a and pr24151a-x32. + +2019-01-31 Alan Modra + + * NEWS: Mention -t change. + * ld.texi (--trace/-t): Expand documentation a little. + +2019-01-29 H.J. Lu + + PR ld/24008 + * testsuite/ld-scripts/defined.exp: Run pr24008. + * testsuite/ld-scripts/pr24008.d: New file. + * testsuite/ld-scripts/pr24008.map: Likewise. + * testsuite/ld-scripts/pr24008.s: Likewise. + * testsuite/ld-scripts/pr24008.t: Likewise. + +2019-01-29 Eric Botcazou + + * testsuite/ld-ifunc/ifunc.exp: Skip pr23169 on SPARC. + +2019-01-28 Alan Modra + + PR 24008 + * ldexp.h (lang_phase_type): Add lang_fixed_phase_enum. + * ldexp.c (fold_name): Move expld.assign_name check later to + avoid an extra lookup. + (exp_fold_tree_1): When lang_fixed_phase_enum, don't change symbol + values, and don't clear expld.assign_name. + * ldlang.c (lang_map): Set expld.phase to lang_fixed_phase_enum. + (print_assignment): Resolve entire assignment expression. + Don't access symbol u.def unless symbol is defined. + +2019-01-25 Nick Clifton + + * po/bg.po: Updated Bulgarian translation. + +2019-01-23 Sebastian Huber + + * ld.texi (--wrap): Add warning that LTO may make this feature + ineffective. + +2019-01-21 Nick Clifton + + * po/uk.po: Updated Ukranian translation. + * po/pr_BR.po: Updated Brazilian Portuguese translation. + +2019-01-21 Nick Clifton + + PR 24108 + * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Update + expected error message. + +2019-01-19 Nick Clifton + + * configure: Regenerate. + * po/ld.pot: Regenerate. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-16 Kito Cheng + + * testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new + section. + * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests. + * testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test. + * testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise. + * testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise. + +2019-01-14 Maamoun Tarsha + + PR 20113 + * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. + * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. + * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. + * testsuite/ld-s390/tlsbin.dd: Likewise. + * testsuite/ld-s390/tlsbin.rd: Likewise. + * testsuite/ld-s390/tlsbin.sd: Likewise. + * testsuite/ld-s390/tlsbin_64.dd: Likewise. + * testsuite/ld-s390/tlsbin_64.rd: Likewise. + * testsuite/ld-s390/tlsbin_64.sd: Likewise. + * testsuite/ld-s390/tlspic.dd: Likewise. + * testsuite/ld-s390/tlspic.rd: Likewise. + * testsuite/ld-s390/tlspic.sd: Likewise. + * testsuite/ld-s390/tlspic_64.dd: Likewise. + * testsuite/ld-s390/tlspic_64.rd: Likewise. + * testsuite/ld-s390/tlspic_64.sd: Likewise. + * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets. + +2019-01-14 Sebastian Huber + + * ld.texi (--wrap): Add example to emphasise that only undefined + references are replaced by the linker. + +2019-01-09 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2019-01-09 Andrew Paprocki + + * configure: Regenerate. + +2019-01-08 Alan Modra + + * testsuite/ld-elf/sec64k.exp: Use . rather than $objdir in + generated source file names. + * testsuite/ld-m68k/m68k-got.exp: Likewise. + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 5021447c18b..43dd3f31db7 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,2448 +1,6 @@ -2019-12-30 Alan Modra - - PR 25319 - * tic4x-dis.c (tic4x_print_cond): Correct order of xcalloc args. - -2019-12-29 Alan Modra - - * sparc-dis.c (SEX): Don't use left and right shift to sign extend. - (compare_opcodes): Avoid signed shift left overflow. - (print_insn_sparc): Likewise. - -2019-12-29 Alan Modra - - PR 25319 - * tic4x-dis.c (tic4x_print_cond): Init all of condtable. - -2019-12-27 Jan Beulich - - * i386-dis.c (Jdqw): Define. - (dqw_mode): Adjust associated comment. - (rm_table): Use Jdqw for XBEGIN. - (OP_J): Handle dqw_mode. - -2019-12-27 Jan Beulich - - * i386-gen.c (process_i386_operand_type): Don't set Disp32 for - Cpu64 templates. - * i386-opc.tbl (mov): Fold two templates. - (jcxz, jecxz, jrcxz, loop, loope, loopne, loopnz, loopz): Drop - Disp16, Disp32, and Disp32S. - (xbegin): Add Disp32S. - * i386-tbl.h: Re-generate. - -2019-12-26 Alan Modra - - * crx-dis.c (get_number_of_operands): Don't access operands[] - out of bounds. - -2019-12-26 Alan Modra - - * v850-dis.c (disassemble): Avoid signed overflow. Don't use - long vars when unsigned int will do. - -2019-12-24 Alan Modra - - * arm-dis.c (print_insn_arm): Don't shift by 32 on unsigned int var. - -2019-12-23 Jan Beulich - - * ppc-dis.c (print_insn_powerpc): Rename local variable "spaces" - to "blanks". - * ppc-opc.c (D34, SI34, NSI34): Use UINT64_C(). - -2019-12-23 Alan Modra - - * score-dis.c (print_insn_score32): Avoid signed overflow. - (print_insn_score48): Likewise. Don't cast to int when printing - hex values. - -2019-12-23 Alan Modra - - * iq2000-ibld.c: Regenerate. - -2019-12-23 Alan Modra - - * d30v-dis.c (extract_value): Make num param a uint64_t, constify - oper. Use unsigned vars. - (print_insn): Make num var uint64_t. Constify oper and remove now - unnecessary casts on extract_value calls. - (print_insn_d30v): Use unsigned vars. Adjust printf formats. - -2019-12-23 Alan Modra - - * wasm32-dis.c (wasm_read_leb128): Don't allow oversize shifts. - Catch value overflow. Sign extend only on terminating byte. - -2019-12-20 Alan Modra - - PR 25281 - * sh-dis.c (print_insn_ddt): Properly check validity of MOVX_NOPY - and MOVY_NOPX insns. For invalid cases include 0xf000 in the word - printed. Print .word in more cases. - -2019-12-20 Alan Modra - - * or1k-ibld.c: Regenerate. - -2019-12-20 Alan Modra - - * hppa-dis.c (extract_16, extract_21, print_insn_hppa): Use - unsigned variables. - -2019-12-20 Alan Modra - - * m68hc11-dis.c (read_memory): Delete forward decls. - (print_indexed_operand, print_insn): Likewise. - (print_indexed_operand): Formatting. Don't rely on short being - exactly 16 bits, make sign extension explicit. - (print_insn): Likewise. Avoid signed overflow. - -2019-12-19 Alan Modra - - * vax-dis.c (print_insn_mode): Stop index mode recursion. - -2019-12-19 Dr N.W. Filardo - - PR 25277 - * microblaze-opcm.h (enum microblaze_instr): Prefix fadd, fmul and - fdiv with "mbi_". - * microblaze-opc.h (opcodes): Adjust to suit. - -2019-12-18 Alan Modra - - * alpha-opc.c (OP): Avoid signed overflow. - * arm-dis.c (print_insn): Likewise. - * mcore-dis.c (print_insn_mcore): Likewise. - * pj-dis.c (get_int): Likewise. - * ppc-opc.c (EBD15, EBD15BI): Likewise. - * score7-dis.c (s7_print_insn): Likewise. - * tic30-dis.c (print_insn_tic30): Likewise. - * v850-opc.c (insert_SELID): Likewise. - * vax-dis.c (print_insn_vax): Likewise. - * arc-ext.c (create_map): Likewise. - (struct ExtAuxRegister): Make "address" field unsigned int. - (arcExtMap_auxRegName): Pass unsigned address. - (dump_ARC_extmap): Adjust. - * arc-ext.h (arcExtMap_auxRegName): Update prototype. - -2019-12-17 Alan Modra - - * visium-dis.c (print_insn_visium): Avoid signed overflow. - -2019-12-17 Alan Modra - - * aarch64-opc.c (value_fit_signed_field_p): Avoid signed overflow. - (value_fit_unsigned_field_p): Likewise. - (aarch64_wide_constant_p): Likewise. - (operand_general_constraint_met_p): Likewise. - * aarch64-opc.h (aarch64_wide_constant_p): Update prototype. - -2019-12-17 Alan Modra - - * nds32-dis.c (nds32_mask_opcode): Avoid signed overflow. - (print_insn_nds32): Use uint64_t for "given" and "given1". - -2019-12-17 Alan Modra - - * tic80-dis.c: Delete file. - * tic80-opc.c: Delete file. - * disassemble.c: Remove tic80 support. - * disassemble.h: Likewise. - * Makefile.am: Likewise. - * configure.ac: Likewise. - * Makefile.in: Regenerate. - * configure: Regenerate. - * po/POTFILES.in: Regenerate. - -2019-12-17 Alan Modra - - * bpf-ibld.c: Regenerate. - -2019-12-16 Alan Modra - - * aarch64-dis.c (sign_extend): Return uint64_t. Rewrite without - conditional. - (aarch64_ext_imm): Avoid signed overflow. - -2019-12-16 Alan Modra - - * microblaze-dis.c (read_insn_microblaze): Avoid signed overflow. - -2019-12-16 Alan Modra - - * nios2-dis.c (nios2_print_insn_arg): Avoid signed overflow - -2019-12-16 Alan Modra - - * xstormy16-ibld.c: Regenerate. - -2019-12-16 Alan Modra - - * score-dis.c (print_insn_score16): Move rpush/rpop imm field - value adjustment so that it doesn't affect reg field too. - -2019-12-16 Alan Modra - - * crx-dis.c (EXTRACT, SBM): Avoid signed overflow. - (get_number_of_operands, getargtype, getbits, getregname), - (getcopregname, getprocregname, gettrapstring, getcinvstring), - (getregliststring, get_word_at_PC, get_words_at_PC, build_mask), - (powerof2, match_opcode, make_instruction, print_arguments), - (print_arg): Delete forward declarations, moving static to.. - (getregname, getcopregname, getregliststring): ..these definitions. - (build_mask): Return unsigned int mask. - (match_opcode): Use unsigned int vars. - -2019-12-16 Alan Modra - - * bfin-dis.c (fmtconst, fmtconst_val): Avoid signed overflow. - -2019-12-16 Alan Modra - - * nds32-dis.c (print_insn16, print_insn32): Remove forward decls. - (struct objdump_disasm_info): Delete. - (nds32_parse_audio_ext, nds32_parse_opcode): Cast result of - N32_IMMS to unsigned before shifting left. - -2019-12-16 Alan Modra - - * moxie-dis.c (INST2OFFSET): Don't left shift a signed value. - (print_insn_moxie): Remove unnecessary cast. - -2019-12-12 Alan Modra - - * csky-dis.c (csky_chars_to_number): Remove abort and unnecessary - mask. - -2019-12-11 Alan Modra - - * arc-dis.c (BITS): Don't truncate high bits with shifts. - * nios2-dis.c (nios2_print_insn_arg): Don't sign extend with shifts. - * tic54x-dis.c (print_instruction): Likewise. - * tilegx-opc.c (parse_insn_tilegx): Likewise. - * tilepro-opc.c (parse_insn_tilepro): Likewise. - * visium-dis.c (disassem_class0): Likewise. - * pdp11-dis.c (sign_extend): Likewise. - (SIGN_BITS): Delete. - * epiphany-ibld.c: Regenerate. - * lm32-ibld.c: Regenerate. - * m32c-ibld.c: Regenerate. - -2019-12-11 Alan Modra - - * ns32k-dis.c (sign_extend): Correct last patch. - -2019-12-11 Alan Modra - - * vax-dis.c (NEXTLONG): Avoid signed overflow. - -2019-12-11 Alan Modra - - * v850-dis.c (get_operand_value): Use unsigned arithmetic. Don't - sign extend using shifts. - -2019-12-11 Alan Modra - - * tic6x-dis.c (tic6x_extract_32): Avoid signed overflow. - -2019-12-11 Alan Modra - - * tic4x-dis.c (tic4x_print_register): Formatting. Don't segfault - on NULL registertable entry. - (tic4x_hash_opcode): Use unsigned arithmetic. - -2019-12-11 Alan Modra - - * s12z-opc.c (z_decode_signed_value): Avoid signed overflow. - -2019-12-11 Alan Modra - - * ns32k-dis.c (bit_extract): Use unsigned arithmetic. - (bit_extract_simple, sign_extend): Likewise. - -2019-12-11 Alan Modra - - * nios2-dis.c (nios2_print_insn_arg): Use 1u << 31. - -2019-12-11 Alan Modra - - * moxie-dis.c (INST2OFFSET): Don't sign extend using shifts. - -2019-12-11 Alan Modra - - * m68k-dis.c (COERCE32): Cast value first. - (NEXTLONG, NEXTULONG): Avoid signed overflow. - -2019-12-11 Alan Modra - - * h8300-dis.c (extract_immediate): Avoid signed overflow. - (bfd_h8_disassemble): Likewise. - -2019-12-11 Alan Modra - - * d30v-dis.c (print_insn): Make opind unsigned. Don't access - past end of operands array. - -2019-12-11 Alan Modra - - * csky-dis.c (csky_chars_to_number): Rewrite. Avoid signed - overflow when collecting bytes of a number. - -2019-12-11 Alan Modra - - * cris-dis.c (print_with_operands): Avoid signed integer - overflow when collecting bytes of a 32-bit integer. - -2019-12-11 Alan Modra - - * cr16-dis.c (EXTRACT, SBM): Rewrite. - (cr16_match_opcode): Delete duplicate bcond test. - -2019-12-11 Alan Modra - - * bfin-dis.c (HOST_LONG_WORD_SIZE, XFIELD): Delete. - (SIGNBIT): New. - (MASKBITS, SIGNEXTEND): Rewrite. - (fmtconst): Don't use ? expression now that SIGNEXTEND uses - unsigned arithmetic, instead assign result of SIGNEXTEND back - to x. - (fmtconst_val): Use 1u in shift expression. - -2019-12-11 Alan Modra - - * arc-dis.c (find_format_from_table): Use ull constant when - shifting by up to 32. - -2019-12-11 Alan Modra - - PR 25270 - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Return - false when field is zero for sve_size_tsz_bhs. - -2019-12-11 Alan Modra - - * epiphany-ibld.c: Regenerate. - -2019-12-10 Alan Modra - - PR 24960 - * disassemble.c (disassemble_free_target): New function. - -2019-12-10 Alan Modra - - * cgen-dis.in (print_insn_@arch@): Replace insn_sets with private_data. - * disassemble.c (disassemble_init_for_target): Likewise. - * bpf-dis.c: Regenerate. - * epiphany-dis.c: Regenerate. - * fr30-dis.c: Regenerate. - * frv-dis.c: Regenerate. - * ip2k-dis.c: Regenerate. - * iq2000-dis.c: Regenerate. - * lm32-dis.c: Regenerate. - * m32c-dis.c: Regenerate. - * m32r-dis.c: Regenerate. - * mep-dis.c: Regenerate. - * mt-dis.c: Regenerate. - * or1k-dis.c: Regenerate. - * xc16x-dis.c: Regenerate. - * xstormy16-dis.c: Regenerate. - -2019-12-10 Alan Modra - - * ppc-dis.c (private): Delete variable. - (get_powerpc_dialect): Don't segfault on NULL info->private_data. - (powerpc_init_dialect): Don't use global private. - -2019-12-10 Alan Modra - - * s12z-opc.c: Formatting. - -2019-12-08 Alan Modra - - * s12z-opc.c (exg_sex_discrim): Don't leak memory on invalid - registers. - -2019-12-05 Jan Beulich - - * aarch64-tbl.h (aarch64_feature_crypto, - aarch64_feature_crypto_v8_2, CRYPTO, CRYPTO_V8_2, CRYP_INSN, - CRYPTO_V8_2_INSN): Delete. - -2019-12-05 Alan Modra - - PR 25249 - * microblaze-dis.c (NUM_STRBUFS, STRBUF_SIZE): Define. - (struct string_buf): New. - (strbuf): New function. - (get_field): Use strbuf rather than strdup of local temp. - (get_field_imm, get_field_imm5, get_field_imm5_mbar): Likewise. - (get_field_rfsl, get_field_imm15): Likewise. - (get_field_rd, get_field_r1, get_field_r2): Update macros. - (get_field_special): Likewise. Don't strcpy spr. Formatting. - (print_insn_microblaze): Formatting. Init and pass string_buf to - get_field functions. - -2019-12-04 Jan Beulich - - * i386-opc.tbl (lfs, lgs, lss): Drop No_qSuf. - * i386-tbl.h: Re-generate. - -2019-12-04 Jan Beulich - - * i386-dis.c (mod_table): Use Ev instead of Em for movdiri. - -2019-12-04 Jan Beulich - - * i386-opc.tbl (push, pop): Drop DefaultSize from GPR-only - forms. - (xbegin): Drop DefaultSize. - * i386-tbl.h: Re-generate. - -2019-11-22 Mihail Ionescu - - * opcodes/arm-dis.c (arm_opcodes, thumb32_opcodes): - Change the coproc CRC conditions to use the extension - feature set, second word, base on ARM_EXT2_CRC. - -2019-11-14 Jan Beulich - - * i386-opc.tbl (syscall, sysret): Drop Cpu64 forms. - * i386-tbl.h: Re-generate. - -2019-11-14 Jan Beulich - - * i386-gen.c (opcode_modifiers): Remove JumpDword, JumpByte, - JumpInterSegment, and JumpAbsolute entries. - * i386-opc.h (JUMP, JUMP_DWORD, JUMP_BYTE, JUMP_INTERSEGMENT, - JUMP_ABSOLUTE): Define. - (struct i386_opcode_modifier): Extend jump field to 3 bits. - Remove jumpdword, jumpbyte, jumpintersegment, and jumpabsolute - fields. - * i386-opc.tbl (JumpByte, JumpDword, JumpAbsolute, - JumpInterSegment): Define. - * i386-tbl.h: Re-generate. - -2019-11-14 Jan Beulich - - * i386-gen.c (operand_type_init): Remove - OPERAND_TYPE_JUMPABSOLUTE entry. - (opcode_modifiers): Add JumpAbsolute entry. - (operand_types): Remove JumpAbsolute entry. - * i386-opc.h (JumpAbsolute): Move between enums. - (struct i386_opcode_modifier): Add jumpabsolute field. - (union i386_operand_type): Remove jumpabsolute field. - * i386-opc.tbl (call, lcall, jmp, ljmp): Move JumpAbsolute. - * i386-init.h, i386-tbl.h: Re-generate. - -2019-11-14 Jan Beulich - - * i386-gen.c (opcode_modifiers): Add AnySize entry. - (operand_types): Remove AnySize entry. - * i386-opc.h (AnySize): Move between enums. - (struct i386_opcode_modifier): Add anysize field. - (OTUnused): Un-comment. - (union i386_operand_type): Remove anysize field. - * i386-opc.tbl (lea, invlpg, clflush, prefetchnta, prefetcht0, - prefetcht1, prefetcht2, prefetchtw, bndmk, bndcl, bndcu, bndcn, - bndstx, bndldx, prefetchwt1, clflushopt, clwb, cldemote): Move - AnySize. - * i386-tbl.h: Re-generate. - -2019-11-12 Nelson Chu - - * riscv-opc.c (riscv_insn_types): Replace the INSN_CLASS_I with - INSN_CLASS_F and the INSN_CLASS_C with INSN_CLASS_F_AND_C if we - use the floating point register (FPR). - -2019-11-12 Mihail Ionescu - - * opcodes/arm-dis.c (mve_opcodes): Enable VMOV imm to vec with - cmode 1101. - (is_mve_encoding_conflict): Update cmode conflict checks for - MVE_VMVN_IMM. - -2019-11-12 Jan Beulich - - * i386-gen.c (operand_type_init): Remove OPERAND_TYPE_ESSEG - entry. - (operand_types): Remove EsSeg entry. - (main): Replace stale use of OTMax. - * i386-opc.h (IS_STRING_ES_OP0, IS_STRING_ES_OP1): Define. - (struct i386_opcode_modifier): Expand isstring field to 2 bits. - (EsSeg): Delete. - (OTUnused): Comment out. - (union i386_operand_type): Remove esseg field. - * i386-opc.tbl (IsStringEsOp0, IsStringEsOp1): Define. - (cmps, scmp, scas, ssca, cmpsd): Add IsStringEsOp0. - (ins, movs, smov, movsd): Add IsStringEsOpOp1. - (stos, ssto): Add IsStringEsOp0/IsStringEsOpOp1. - * i386-init.h, i386-tbl.h: Re-generate. - -2019-11-12 Jan Beulich - - * i386-gen.c (operand_instances): Add RegB entry. - * i386-opc.h (enum operand_instance): Add RegB. - * i386-opc.tbl (RegC, RegD, RegB): Define. - (Acc, ShiftCount, InOutPortReg): Adjust definitions. - (monitor, mwait, invlpga, skinit, vmload, vmrun, vmsave, clzero, - monitorx, mwaitx): Drop ImmExt and convert encodings - accordingly. - * i386-reg.tbl (ecx, rcx): Add Instance=RegC. - (edx, rdx): Add Instance=RegD. - (ebx, rbx): Add Instance=RegB. - * i386-tbl.h: Re-generate. - -2019-11-12 Jan Beulich - - * i386-gen.c (operand_type_init): Adjust - OPERAND_TYPE_INOUTPORTREG, OPERAND_TYPE_SHIFTCOUNT, - OPERAND_TYPE_FLOATACC, OPERAND_TYPE_ACC8, OPERAND_TYPE_ACC16, - OPERAND_TYPE_ACC32, and OPERAND_TYPE_ACC64 entries. - (operand_instances): New. - (operand_types): Drop InOutPortReg, ShiftCount, and Acc entries. - (output_operand_type): New parameter "instance". Process it. - (process_i386_operand_type): New local variable "instance". - (main): Adjust static assertions. - * i386-opc.h (INSTANCE_WIDTH): Define. - (enum operand_instance): New. - (Acc, InOutPortReg, ShiftCount): Replace by ClassInstance. - (union i386_operand_type): Replace acc, inoutportreg, and - shiftcount by instance. - * i386-opc.tbl (Acc, InOutPortReg, ShiftCount): Define. - * i386-reg.tbl (st, al, cl, ax, dx, eax, rax, xmm0, st(0)): - Add Instance=. - * i386-init.h, i386-tbl.h: Re-generate. - -2019-11-11 Jan Beulich - - * aarch64-tbl.h (aarch64_opcode_table): Switch SVE2's - smaxp/sminp entries' "tied_operand" field to 2. - -2019-11-11 Jan Beulich - - * aarch64-opc.c (operand_general_constraint_met_p): Replace - "index" local variable by that of the already existing "num". - -2019-11-08 H.J. Lu - - PR gas/25167 - * i386-opc.tbl: Remove IgnoreSize from cmpsd and movsd. - * i386-tbl.h: Regenerated. - -2019-11-08 Jan Beulich - - * i386-gen.c (operand_type_init): Add Class= to - OPERAND_TYPE_REGMASK and OPERAND_TYPE_REGBND entries. Move up - OPERAND_TYPE_REGBND entry. - (operand_classes): Add RegMask and RegBND entries. - (operand_types): Drop RegMask and RegBND entry. - * i386-opc.h (enum operand_class): Add RegMask and RegBND. - (RegMask, RegBND): Delete. - (union i386_operand_type): Remove regmask and regbnd fields. - * i386-opc.tbl (RegMask, RegBND): Define. - * i386-reg.tbl: Replace RegMask by Class=RegMask and RegBND by - Class=RegBND. - * i386-init.h, i386-tbl.h: Re-generate. - -2019-11-08 Jan Beulich - - * i386-gen.c (operand_type_init): Add Class= to - OPERAND_TYPE_REGMMX, OPERAND_TYPE_REGXMM, OPERAND_TYPE_REGYMM, and - OPERAND_TYPE_REGZMM entries. - (operand_classes): Add RegMMX and RegSIMD entries. - (operand_types): Drop RegMMX and RegSIMD entries. - * i386-opc.h (enum operand_class): Add RegMMX and RegSIMD. - (RegMMX, RegSIMD): Delete. - (union i386_operand_type): Remove regmmx and regsimd fields. - * i386-opc.tbl (RegMMX): Define. - (RegXMM, RegYMM, RegZMM): Add Class=. - * i386-reg.tbl: Replace RegMMX by Class=RegMMX and RegSIMD by - Class=RegSIMD. - * i386-init.h, i386-tbl.h: Re-generate. - -2019-11-08 Jan Beulich - - * i386-gen.c (operand_type_init): Add Class= to - OPERAND_TYPE_CONTROL, OPERAND_TYPE_TEST, and OPERAND_TYPE_DEBUG - entries. - (operand_classes): Add RegCR, RegDR, and RegTR entries. - (operand_types): Drop Control, Debug, and Test entries. - * i386-opc.h (enum operand_class): Add RegCR, RegDR, and RegTR. - (Control, Debug, Test): Delete. - (union i386_operand_type): Remove control, debug, and test - fields. - * i386-opc.tbl (Control, Debug, Test): Define. - * i386-reg.tbl: Replace Control by Class=RegCR, Debug by - Class=RegDR, and Test by Class=RegTR. - * i386-init.h, i386-tbl.h: Re-generate. - -2019-11-08 Jan Beulich - - * i386-gen.c (operand_type_init): Add Class= to - OPERAND_TYPE_SREG entry. - (operand_classes): Add SReg entry. - (operand_types): Drop SReg entry. - * i386-opc.h (enum operand_class): Add SReg. - (SReg): Delete. - (union i386_operand_type): Remove sreg field. - * i386-opc.tbl (SReg): Define. - * i386-reg.tbl: Replace SReg by Class=SReg. - * i386-init.h, i386-tbl.h: Re-generate. - -2019-11-08 Jan Beulich - - * i386-gen.c (operand_type_init): Add Class=. New - OPERAND_TYPE_ANYIMM entry. - (operand_classes): New. - (operand_types): Drop Reg entry. - (output_operand_type): New parameter "class". Process it. - (process_i386_operand_type): New local variable "class". - (main): Adjust static assertions. - * i386-opc.h (CLASS_WIDTH): Define. - (enum operand_class): New. - (Reg): Replace by Class. Adjust comment. - (union i386_operand_type): Replace reg by class. - * i386-opc.tbl (Reg8, Reg16, Reg32, Reg64, FloatReg): Add - Class=. - * i386-reg.tbl: Replace Reg by Class=Reg. - * i386-init.h: Re-generate. - -2019-11-07 Mihail Ionescu - - * opcodes/aarch64-tbl.h (V8_6_INSN): New macro for v8.6 instructions. - (aarch64_opcode_table): Add data gathering hint mnemonic. - * opcodes/aarch64-dis-2.c: Account for new instruction. - -2019-11-07 Mihail Ionescu - - * arm-dis.c (neon_opcodes): Add i8mm SIMD instructions. - - -2019-11-07 Mihail Ionescu - - * aarch64-tbl.h (aarch64_feature_i8mm_sve, aarch64_feature_f32mm_sve, - aarch64_feature_f64mm_sve, aarch64_feature_i8mm, aarch64_feature_f32mm, - aarch64_feature_f64mm): New feature sets. - (INT8MATMUL_INSN, F64MATMUL_SVE_INSN, F64MATMUL_INSN, - F32MATMUL_SVE_INSN, F32MATMUL_INSN): New macros to define matrix multiply - instructions. - (I8MM_SVE, F32MM_SVE, F64MM_SVE, I8MM, F32MM, F64MM): New feature set - macros. - (QL_MMLA64, OP_SVE_SBB): New qualifiers. - (OP_SVE_QQQ): New qualifier. - (INT8MATMUL_SVE_INSNC, F64MATMUL_SVE_INSNC, - F32MATMUL_SVE_INSNC): New feature set for bfloat16 instructions to support - the movprfx constraint. - (aarch64_opcode_table): Support for SVE_ADDR_RI_S4x32. - (aarch64_opcode_table): Define new instructions smmla, - ummla, usmmla, usdot, sudot, fmmla, ld1rob, ld1roh, ld1row, ld1rod, - uzip{1/2}, trn{1/2}. - * aarch64-opc.c (operand_general_constraint_met_p): Handle - AARCH64_OPND_SVE_ADDR_RI_S4x32. - (aarch64_print_operand): Handle AARCH64_OPND_SVE_ADDR_RI_S4x32. - * aarch64-dis-2.c (aarch64_opcode_lookup_1, aarch64_find_next_opcode): - Account for new instructions. - * opcodes/aarch64-asm-2.c (aarch64_insert_operand): Support the new - S4x32 operand. - * aarch64-opc-2.c (aarch64_operands): Support the new S4x32 operand. - -2019-11-07 Mihail Ionescu -2019-11-07 Matthew Malcomson - - * arm-dis.c (select_arm_features): Update bfd_march_arm_8 with - Armv8.6-A. - (coprocessor_opcodes): Add bfloat16 vcvt{t,b}. - (neon_opcodes): Add bfloat SIMD instructions. - (print_insn_coprocessor): Add new control character %b to print - condition code without checking cp_num. - (print_insn_neon): Account for BFloat16 instructions that have no - special top-byte handling. - -2019-11-07 Mihail Ionescu -2019-11-07 Matthew Malcomson - - * arm-dis.c (print_insn_coprocessor, - print_insn_generic_coprocessor): Create wrapper functions around - the implementation of the print_insn_coprocessor control codes. - (print_insn_coprocessor_1): Original print_insn_coprocessor - function that now takes which array to look at as an argument. - (print_insn_arm): Use both print_insn_coprocessor and - print_insn_generic_coprocessor. - (print_insn_thumb32): As above. - -2019-11-07 Mihail Ionescu -2019-11-07 Matthew Malcomson - - * aarch64-asm.c (aarch64_ins_reglane): Use AARCH64_OPND_QLF_S_2H - in reglane special case. - * aarch64-dis-2.c (aarch64_opcode_lookup_1, - aarch64_find_next_opcode): Account for new instructions. - * aarch64-dis.c (aarch64_ext_reglane): Use AARCH64_OPND_QLF_S_2H - in reglane special case. - * aarch64-opc.c (struct operand_qualifier_data): Add data for - new AARCH64_OPND_QLF_S_2H qualifier. - * aarch64-tbl.h (QL_BFDOT QL_BFDOT64, QL_BFDOT64I, QL_BFMMLA2, - QL_BFCVT64, QL_BFCVTN64, QL_BFCVTN2_64): New qualifiers. - (aarch64_feature_bfloat16, aarch64_feature_bfloat16_sve): New feature - sets. - (BFLOAT_SVE, BFLOAT): New feature set macros. - (BFLOAT_SVE_INSN, BFLOAT_INSN): New macros to define BFloat16 - instructions. - (aarch64_opcode_table): Define new instructions bfdot, - bfmmla, bfcvt, bfcvtnt, bfdot, bfdot, bfcvtn, bfmlal[b/t] - bfcvtn2, bfcvt. - -2019-11-07 Mihail Ionescu -2019-11-07 Matthew Malcomson - - * aarch64-tbl.h (ARMV8_6): New macro. - -2019-11-07 Jan Beulich - - * i386-dis.c (prefix_table): Add mcommit. - (rm_table): Add rdpru. - * i386-gen.c (cpu_flag_init): Adjust CPU_ZNVER2_FLAGS entry. Add - CPU_RDPRU_FLAGS and CPU_MCOMMIT_FLAGS entries. - (cpu_flags): Add CpuRDPRU and CpuMCOMMIT entries. - * i386-opc.h (CpuRDPRU, CpuMCOMMIT): New. - (union i386_cpu_flags): Add cpurdpru and cpumcommit fields. - * i386-opc.tbl (mcommit, rdpru): New. - * i386-init.h, i386-tbl.h: Re-generate. - -2019-11-07 Jan Beulich - - * i386-dis.c (OP_Mwait): Drop local variable "names", use - "names32" instead. - (OP_Monitor): Drop local variable "op1_names", re-purpose - "names" for it instead, and replace former "names" uses by - "names32" ones. - -2019-11-07 Jan Beulich - - PR/gas 25167 - * opcodes/i386-opc.tbl (movsd, cmpsd): Drop IgnoreSize from - operand-less forms. - * opcodes/i386-tbl.h: Re-generate. - -2019-11-05 Jan Beulich - - * i386-dis.c (OP_Mwaitx): Delete. - (prefix_table): Use OP_Mwait for mwaitx entry. - (OP_Mwait): Also handle mwaitx. - -2019-11-05 Jan Beulich - - * i386-dis.c (PREFIX_0F01_REG_7_MOD_3_RM_2, - PREFIX_0F01_REG_7_MOD_3_RM_3): New. - (prefix_table): Add respective entries. - (rm_table): Link to those entries. - -2019-11-05 Jan Beulich - - * i386-dis.c (REG_0F1C_MOD_0): Rename to ... - (REG_0F1C_P_0_MOD_0): ... this. - (REG_0F1E_MOD_3): Rename to ... - (REG_0F1E_P_1_MOD_3): ... this. - (RM_0F01_REG_5): Rename to ... - (RM_0F01_REG_5_MOD_3): ... this. - (RM_0F01_REG_7): Rename to ... - (RM_0F01_REG_7_MOD_3): ... this. - (RM_0F1E_MOD_3_REG_7): Rename to ... - (RM_0F1E_P_1_MOD_3_REG_7): ... this. - (RM_0FAE_REG_6): Rename to ... - (RM_0FAE_REG_6_MOD_3_P_0): ... this. - (RM_0FAE_REG_7): Rename to ... - (RM_0FAE_REG_7_MOD_3): ... this. - (PREFIX_MOD_0_0F01_REG_5): Rename to ... - (PREFIX_0F01_REG_5_MOD_0): ... this. - (PREFIX_MOD_3_0F01_REG_5_RM_0): Rename to ... - (PREFIX_0F01_REG_5_MOD_3_RM_0): ... this. - (PREFIX_MOD_3_0F01_REG_5_RM_2): Rename to ... - (PREFIX_0F01_REG_5_MOD_3_RM_2): ... this. - (PREFIX_0FAE_REG_0): Rename to ... - (PREFIX_0FAE_REG_0_MOD_3): ... this. - (PREFIX_0FAE_REG_1): Rename to ... - (PREFIX_0FAE_REG_1_MOD_3): ... this. - (PREFIX_0FAE_REG_2): Rename to ... - (PREFIX_0FAE_REG_2_MOD_3): ... this. - (PREFIX_0FAE_REG_3): Rename to ... - (PREFIX_0FAE_REG_3_MOD_3): ... this. - (PREFIX_MOD_0_0FAE_REG_4): Rename to ... - (PREFIX_0FAE_REG_4_MOD_0): ... this. - (PREFIX_MOD_3_0FAE_REG_4): Rename to ... - (PREFIX_0FAE_REG_4_MOD_3): ... this. - (PREFIX_MOD_0_0FAE_REG_5): Rename to ... - (PREFIX_0FAE_REG_5_MOD_0): ... this. - (PREFIX_MOD_3_0FAE_REG_5): Rename to ... - (PREFIX_0FAE_REG_5_MOD_3): ... this. - (PREFIX_MOD_0_0FAE_REG_6): Rename to ... - (PREFIX_0FAE_REG_6_MOD_0): ... this. - (PREFIX_MOD_1_0FAE_REG_6): Rename to ... - (PREFIX_0FAE_REG_6_MOD_3): ... this. - (PREFIX_0FAE_REG_7): Rename to ... - (PREFIX_0FAE_REG_7_MOD_0): ... this. - (PREFIX_MOD_0_0FC3): Rename to ... - (PREFIX_0FC3_MOD_0): ... this. - (PREFIX_MOD_0_0FC7_REG_6): Rename to ... - (PREFIX_0FC7_REG_6_MOD_0): ... this. - (PREFIX_MOD_3_0FC7_REG_6): Rename to ... - (PREFIX_0FC7_REG_6_MOD_3): ... this. - (PREFIX_MOD_3_0FC7_REG_7): Rename to ... - (PREFIX_0FC7_REG_7_MOD_3): ... this. - (reg_table, prefix_table, mod_table, rm_table): Adjust - accordingly. - -2019-11-04 Nick Clifton - - * v850-dis.c (get_v850_sreg_name): New function. Returns the name - of a v850 system register. Move the v850_sreg_names array into - this function. - (get_v850_reg_name): Likewise for ordinary register names. - (get_v850_vreg_name): Likewise for vector register names. - (get_v850_cc_name): Likewise for condition codes. - * get_v850_float_cc_name): Likewise for floating point condition - codes. - (get_v850_cacheop_name): Likewise for cache-ops. - (get_v850_prefop_name): Likewise for pref-ops. - (disassemble): Use the new accessor functions. - -2019-10-30 Delia Burduv - - * aarch64-opc.c (print_immediate_offset_address): Don't print the - immediate for the writeback form of ldraa/ldrab if it is 0. - * aarch64-tbl.h: Updated the documentation for ADDR_SIMM10. - * aarch64-opc-2.c: Regenerated. - -2019-10-30 Jan Beulich - - * i386-gen.c (operand_type_shorthands): Delete. - (operand_type_init): Expand previous shorthands. - (set_bitfield_from_shorthand): Rename back to ... - (set_bitfield_from_cpu_flag_init): ... this. Drop processing - of operand_type_init[]. - (set_bitfield): Adjust call to the above function. - * i386-opc.tbl (Reg8, Reg16, Reg32, Reg64, FloatAcc, FloatReg, - RegXMM, RegYMM, RegZMM): Define. - * i386-reg.tbl: Expand prior shorthands. - -2019-10-30 Jan Beulich - - * i386-gen.c (output_i386_opcode): Change order of fields - emitted to output. - * i386-opc.h (struct insn_template): Move operands field. - Convert extension_opcode field to unsigned short. - * i386-tbl.h: Re-generate. - -2019-10-30 Jan Beulich - - * i386-gen.c (process_i386_opcode_modifier): Report bogus uses - of W. - * i386-opc.h (W): Extend comment. - * i386-opc.tbl (mov, movabs, movq): Drop W and adjust opcodes of - general purpose variants not allowing for byte operands. - * i386-tbl.h: Re-generate. - -2019-10-29 Nick Clifton - - * tic30-dis.c (print_branch): Correct size of operand array. - -2019-10-29 Nick Clifton - - * d30v-dis.c (print_insn): Check that operand index is valid - before attempting to access the operands array. - -2019-10-29 Nick Clifton - - * ia64-opc.c (locate_opcode_ent): Prevent a negative shift when - locating the bit to be tested. - -2019-10-29 Nick Clifton - - * s12z-dis.c (opr_emit_disassembly): Check for illegal register - values. - (shift_size_table): Use a fixed size defined as S12Z_N_SIZES. - (print_insn_s12z): Check for illegal size values. - -2019-10-28 Nick Clifton - - * csky-dis.c (csky_chars_to_number): Check for a negative - count. Use an unsigned integer to construct the return value. - -2019-10-28 Nick Clifton - - * tic30-dis.c (OPERAND_BUFFER_LEN): Define. Use as length of - operand buffer. Set value to 15 not 13. - (get_register_operand): Use OPERAND_BUFFER_LEN. - (get_indirect_operand): Likewise. - (print_two_operand): Likewise. - (print_three_operand): Likewise. - (print_oar_insn): Likewise. - -2019-10-28 Nick Clifton - - * ns32k-dis.c (bit_extract): Add sanitiy check of parameters. - (bit_extract_simple): Likewise. - (bit_copy): Likewise. - (pirnt_insn_ns32k): Ensure that uninitialised elements in the - index_offset array are not accessed. - -2019-10-28 Nick Clifton - - * xgate-dis.c (print_insn): Fix decoding of the XGATE_OP_DYA - operand. - -2019-10-25 Nick Clifton - - * rx-dis.c (print_insn_rx): Use parenthesis to ensure correct - access to opcodes.op array element. - -2019-10-23 Nick Clifton - - * rx-dis.c (get_register_name): Fix spelling typo in error - message. - (get_condition_name, get_flag_name, get_double_register_name) - (get_double_register_high_name, get_double_register_low_name) - (get_double_control_register_name, get_double_condition_name) - (get_opsize_name, get_size_name): Likewise. - -2019-10-22 Nick Clifton - - * rx-dis.c (get_size_name): New function. Provides safe - access to name array. - (get_opsize_name): Likewise. - (print_insn_rx): Use the accessor functions. - -2019-10-16 Nick Clifton - - * rx-dis.c (get_register_name): New function. Provides safe - access to name array. - (get_condition_name, get_flag_name, get_double_register_name) - (get_double_register_high_name, get_double_register_low_name) - (get_double_control_register_name, get_double_condition_name): - Likewise. - (print_insn_rx): Use the accessor functions. - -2019-10-09 Nick Clifton - - PR 25041 - * avr-dis.c (avr_operand): Fix construction of address for lds/sts - instructions. - -2019-10-07 Jan Beulich - - * opcodes/i386-opc.tbl (movsd): Add Dword and IgnoreSize. - (cmpsd): Likewise. Move EsSeg to other operand. - * opcodes/i386-tbl.h: Re-generate. - -2019-09-23 Alan Modra - - * m68k-dis.c: Include cpu-m68k.h - -2019-09-23 Alan Modra - - * mips-dis.c: Include elfxx-mips.h. Move "elf-bfd.h" and - "elf/mips.h" earlier. - -2018-09-20 Jan Beulich - - PR gas/25012 - * i386-opc.tbl (push, pop): Re-instate distinct Cpu64 templates - with SReg operand. - * i386-tbl.h: Re-generate. - -2019-09-18 Alan Modra - - * arc-ext.c: Update throughout for bfd section macro changes. - -2019-09-18 Simon Marchi - - * Makefile.in: Re-generate. - * configure: Re-generate. - -2019-09-17 Maxim Blinov - - * riscv-opc.c (riscv_opcodes): Change subset field - to insn_class field for all instructions. - (riscv_insn_types): Likewise. - -2019-09-16 Phil Blundell - - * configure: Regenerated. - -2019-09-10 Miod Vallat - - PR 24982 - * m68k-opc.c: Correct aliases for tdivsl and tdivul. - -2019-09-09 Phil Blundell - - binutils 2.33 branch created. - -2019-09-03 Nick Clifton - - PR 24961 - * tic30-dis.c (get_indirect_operand): Check for bufcnt being - greater than zero before indexing via (bufcnt -1). - -2019-09-03 Nick Clifton - - PR 24958 - * mmix-dis.c (MAX_REG_NAME_LEN): Define. - (MAX_SPEC_REG_NAME_LEN): Define. - (struct mmix_dis_info): Use defined constants for array lengths. - (get_reg_name): New function. - (get_sprec_reg_name): New function. - (print_insn_mmix): Use new functions. - -2019-08-27 Srinath Parvathaneni - - * arm-dis.c (mve_opcodes): Add entry for MVE_VMOV_VEC_TO_VEC. - (is_mve_undefined): Add case for MVE_VMOV_VEC_TO_VEC. - (print_insn_mve): Add condition to check Qm==Qn of VORR instruction. - -2019-08-22 Kyrylo Tkachov - - * aarch64-opc.c (aarch64_sys_regs): Update encoding of tfsre0_el1, - tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12. - (aarch64_sys_reg_supported_p): Update checks for the above. - -2019-08-12 Srinath Parvathaneni - - * arm-dis.c (struct mopcode32 mve_opcodes): Modify the mask for - cases MVE_SQRSHRL and MVE_UQRSHLL. - (print_insn_mve): Add case for specifier 'k' to check - specific bit of the instruction. - -2019-08-07 Phillipe Antoine - - PR 24854 - * arc-dis.c (arc_insn_length): Return 0 rather than aborting when - encountering an unknown machine type. - (print_insn_arc): Handle arc_insn_length returning 0. In error - cases return -1 rather than calling abort. - -2019-08-07 Jan Beulich - - * i386-opc.tbl (fld, fstp): Drop FloatMF from extended forms. - (fldcw, fnstcw, fstcw, fnstsw, fstsw): Replace FloatMF by - IgnoreSize. - * i386-tbl.h: Re-generate. - -2019-08-05 Barnaby Wilks - - * arm-dis.c: Only accept signed variants of VQ(R)DMLAH and VQ(R)DMLASH - instructions. - -2019-07-30 Mel Chen - - * riscv-opc.c (riscv_opcodes): Set frsr, fssr, frcsr, fscsr, frrm, - fsrm, fsrmi, frflags, fsflags, fsflagsi to alias instructions. - - * riscv-opc.c (riscv_opcodes): Adjust order of frsr, frcsr, fssr, - fscsr. - -2019-07-24 Claudiu Zissulescu - - * arc-dis.c (skip_this_opcode): Check also for 0x07 major opcodes, - and MPY class instructions. - (parse_option): Add nps400 option. - (print_arc_disassembler_options): Add nps400 info. - -2019-07-24 Claudiu Zissulescu - - * arc-ext-tbl.h (bspeek): Remove it, added to main table. - (bspop): Likewise. - (modapp): Likewise. - * arc-opc.c (RAD_CHK): Add. - * arc-tbl.h: Regenerate. - -2019-07-23 Kyrylo Tkachov - - * aarch64-opc.c (aarch64_sys_regs): Add gmid_el1 entry. - (aarch64_sys_reg_supported_p): Handle gmid_el1 encoding. - -2019-07-22 Barnaby Wilks - - * arm-dis.c (is_mve_unpredictable): Stop marking some MVE - instructions as UNPREDICTABLE. - -2019-07-19 Jose E. Marchesi - - * bpf-desc.c: Regenerated. - -2019-07-17 Jan Beulich - - * i386-gen.c (static_assert): Define. - (main): Use it. - * i386-opc.h (Opcode_Modifier_Max): Rename to ... - (Opcode_Modifier_Num): ... this. - (Mem): Delete. - -2019-07-16 Jan Beulich - - * i386-gen.c (operand_types): Move RegMem ... - (opcode_modifiers): ... here. - * i386-opc.h (RegMem): Move to opcode modifer enum. - (union i386_operand_type): Move regmem field ... - (struct i386_opcode_modifier): ... here. - * i386-opc.tbl (RegMem): Define. - (mov, movq): Move RegMem on segment, control, debug, and test - register flavors. - (pextrb): Move RegMem on register only flavors. Add IgnoreSize - to non-SSE2AVX flavor. - (extractps, pextrw, vcvtps2ph, vextractps, vpextrb, vpextrw): - Move RegMem on register only flavors. Drop IgnoreSize from - legacy encoding flavors. - (movss, movsd, vmovss, vmovsd): Drop RegMem from register only - flavors. - (vpinsrb, vpinsrw): Drop IgnoreSize where still present on - register only flavors. - (vmovd): Move RegMem and drop IgnoreSize on register only - flavor. Change opcode and operand order to store form. - * opcodes/i386-init.h, i386-tbl.h: Re-generate. - -2019-07-16 Jan Beulich - - * i386-gen.c (operand_type_init, operand_types): Replace SReg - entries. - * i386-opc.h (SReg2, SReg3): Replace by ... - (SReg): ... this. - (union i386_operand_type): Replace sreg fields. - * i386-opc.tbl (mov, ): Use SReg. - (push, pop): Likewies. Drop i386 and x86-64 specific segment - register flavors. - * i386-reg.tbl (cs, ds, es, fs, gs, ss, flat): Use SReg. - * opcodes/i386-init.h, i386-tbl.h: Re-generate. - -2019-07-15 Jose E. Marchesi - - * bpf-desc.c: Regenerate. - * bpf-opc.c: Likewise. - * bpf-opc.h: Likewise. - -2019-07-14 Jose E. Marchesi - - * bpf-desc.c: Regenerate. - * bpf-opc.c: Likewise. - -2019-07-10 Hans-Peter Nilsson - - * arm-dis.c (print_insn_coprocessor): Rename index to - index_operand. - -2019-07-05 Kito Cheng - - * riscv-opc.c (riscv_insn_types): Add r4 type. - - * riscv-opc.c (riscv_insn_types): Add b and j type. - - * opcodes/riscv-opc.c (riscv_insn_types): Remove incorrect - format for sb type and correct s type. - -2019-07-02 Richard Sandiford - - * aarch64-tbl.h (aarch64_opcode): Set C_SCAN_MOVPRFX for the - SVE FMOV alias of FCPY. - -2019-07-02 Richard Sandiford - - * aarch64-tbl.h (aarch64_opcode_table): Add C_MAX_ELEM flags - to SVE fcvtzs, fcvtzu, scvtf and ucvtf entries. - -2019-07-02 Richard Sandiford - - * aarch64-opc.c (verify_constraints): Skip GPRs when scanning the - registers in an instruction prefixed by MOVPRFX. - -2019-07-01 Matthew Malcomson - - * aarch64-asm.c (aarch64_encode_variant_using_iclass): Use new - sve_size_13 icode to account for variant behaviour of - pmull{t,b}. - * aarch64-dis-2.c: Regenerate. - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Use new - sve_size_13 icode to account for variant behaviour of - pmull{t,b}. - * aarch64-tbl.h (OP_SVE_VVV_HD_BS): Add new qualifier. - (OP_SVE_VVV_Q_D): Add new qualifier. - (OP_SVE_VVV_QHD_DBS): Remove now unused qualifier. - (struct aarch64_opcode): Split pmull{t,b} into those requiring - AES and those not. - -2019-07-01 Jan Beulich - - * opcodes/i386-gen.c (operand_type_init): Remove - OPERAND_TYPE_VEC_IMM4 entry. - (operand_types): Remove Vec_Imm4. - * opcodes/i386-opc.h (Vec_Imm4): Delete. - (union i386_operand_type): Remove vec_imm4. - * i386-opc.tbl (vpermil2pd, vpermil2ps): Remove Vec_Imm4. - * opcodes/i386-init.h, i386-tbl.h: Re-generate. - -2019-07-01 Jan Beulich - - * i386-opc.tbl (lfence, mfence, sfence, monitor, mwait, vmcall, - vmlaunch, vmresume, vmxoff, vmfunc, xgetbv, xsetbv, swapgs, - rdtscp, clgi, invlpga, skinit, stgi, vmload, vmmcall, vmrun, - vmsave, montmul, xsha1, xsha256, xstorerng, xcryptecb, - xcryptcbc, xcryptctr, xcryptcfb, xcryptofb, xstore, clac, stac, - monitorx, mwaitx): Drop ImmExt from operand-less forms. - * i386-tbl.h: Re-generate. - -2019-07-01 Jan Beulich - - * i386-opc.tbl (and, or): Add Optimize to forms allowing two - register operands. - * i386-tbl.h: Re-generate. - -2019-07-01 Jan Beulich - - * i386-opc.tbl (C): New. - (paddb, paddw, paddd, paddq, paddsb, paddsw, paddusb, paddusw, - pand, pcmpeqb, pcmpeqw, pcmpeqd, pmaddwd, pmulhw, pmullw, - por, pxor, andps, cmpeqps, cmpeqss, cmpneqps, cmpneqss, - cmpordps, cmpordss, cmpunordps, cmpunordss, orps, pavgb, pavgw, - pmaxsw, pmaxub, pminsw, pminub, pmulhuw, xorps, andpd, cmpeqpd, - cmpeqsd, cmpneqpd, cmpneqsd, cmpordpd, cmpordsd, cmpunordpd, - cmpunordsd, orpd, xorpd, pmuludq, vandpd, vandps, vcmpeq_ospd, - vcmpeq_osps, vcmpeq_ossd, vcmpeq_osss, vcmpeqpd, vcmpeqps, - vcmpeqsd, vcmpeqss, vcmpeq_uqpd, vcmpeq_uqps, vcmpeq_uqsd, - vcmpeq_uqss, vcmpeq_uspd, vcmpeq_usps, vcmpeq_ussd, - vcmpeq_usss, vcmpfalse_ospd, vcmpfalse_osps, vcmpfalse_ossd, - vcmpfalse_osss, vcmpfalsepd, vcmpfalseps, vcmpfalsesd, - vcmpfalsess, vcmpneq_oqpd, vcmpneq_oqps, vcmpneq_oqsd, - vcmpneq_oqss, vcmpneq_ospd, vcmpneq_osps, vcmpneq_ossd, - vcmpneq_osss, vcmpneqpd, vcmpneqps, vcmpneqsd, vcmpneqss, - vcmpneq_uspd, vcmpneq_usps, vcmpneq_ussd, vcmpneq_usss, - vcmpordpd, vcmpordps, vcmpordsd, vcmpord_spd, vcmpord_sps, - vcmpordss, vcmpord_ssd, vcmpord_sss, vcmptruepd, vcmptrueps, - vcmptruesd, vcmptruess, vcmptrue_uspd, vcmptrue_usps, - vcmptrue_ussd, vcmptrue_usss, vcmpunordpd, vcmpunordps, - vcmpunordsd, vcmpunord_spd, vcmpunord_sps, vcmpunordss, - vcmpunord_ssd, vcmpunord_sss, vorpd, vorps, vpaddsb, vpaddsw, - vpaddb, vpaddd, vpaddq, vpaddw, vpaddusb, vpaddusw, vpand, - vpavgb, vpavgw, vpcmpeqb, vpcmpeqd, vpcmpeqw, vpmaddwd, - vpmaxsw, vpmaxub, vpminsw, vpminub, vpmulhuw, vpmulhw, vpmullw, - vpmuludq, vpor, vpxor, vxorpd, vxorps): Add C to VEX-encoded - flavors. - * i386-tbl.h: Re-generate. - -2019-07-01 Jan Beulich - - * i386-opc.tbl (and, or): Add Optimize to forms allowing two - register operands. - * i386-tbl.h: Re-generate. - -2019-07-01 Jan Beulich - - * i386-dis-evex-prefix.h: Use PCLMUL for vpclmulqdq. - * i386-opc.tbl (vpclmullqlqdq, vpclmulhqlqdq, vpclmullqhqdq, - vpclmulhqhqdq): Add CpuVPCLMULQDQ flavors. - * i386-tbl.h: Re-generate. - -2019-07-01 Jan Beulich - - * i386-opc.tbl (vextractps, vpextrw, vpinsrw): Remove - Disp8MemShift from register only templates. - * i386-tbl.h: Re-generate. - -2019-07-01 Jan Beulich - - * i386-dis.c (EXdScalarS, MOD_EVEX_0F10_PREFIX_1, - MOD_EVEX_0F10_PREFIX_3, MOD_EVEX_0F11_PREFIX_1, - MOD_EVEX_0F11_PREFIX_3, EVEX_W_0F10_P_1_M_0, - EVEX_W_0F10_P_1_M_1, EVEX_W_0F10_P_3_M_0, EVEX_W_0F10_P_3_M_1, - EVEX_W_0F11_P_1_M_0, EVEX_W_0F11_P_1_M_1, EVEX_W_0F11_P_3_M_0, - EVEX_W_0F11_P_3_M_1): Delete. - (EVEX_W_0F10_P_1, EVEX_W_0F10_P_3, EVEX_W_0F11_P_1, - EVEX_W_0F11_P_3): New. - * i386-dis-evex-mod.h: Remove MOD_EVEX_0F10_PREFIX_1, - MOD_EVEX_0F10_PREFIX_3, MOD_EVEX_0F11_PREFIX_1, and - MOD_EVEX_0F11_PREFIX_3 table entries. - * i386-dis-evex-prefix.h: Adjust PREFIX_EVEX_0F10 and - PREFIX_EVEX_0F11 table entries. - * i386-dis-evex-w.h: Replace EVEX_W_0F10_P_1_M_{0,1}, - EVEX_W_0F10_P_3_M_{0,1}, EVEX_W_0F11_P_1_M_{0,1}, and - EVEX_W_0F11_P_3_M_{0,1} table entries. - -2019-07-01 Jan Beulich - - * i386-dis.c (EXdVex, EXdVexS, EXqVex, EXqVexS, XMVex): - Delete. - -2019-06-27 H.J. Lu - - PR binutils/24719 - * i386-dis-evex-len.h: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2, - EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2, - EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0, - EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0, - EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0, - EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and - EVEX_LEN_0F38C7_R_6_P_2_W_1. - * i386-dis-evex-prefix.h: Update PREFIX_EVEX_0F38C6_REG_1, - PREFIX_EVEX_0F38C6_REG_2, PREFIX_EVEX_0F38C6_REG_5 and - PREFIX_EVEX_0F38C6_REG_6 entries. - * i386-dis-evex-w.h: Update EVEX_W_0F38C7_R_1_P_2, - EVEX_W_0F38C7_R_2_P_2, EVEX_W_0F38C7_R_5_P_2 and - EVEX_W_0F38C7_R_6_P_2 entries. - * i386-dis.c: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2, - EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2, - EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0, - EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0, - EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0, - EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and - EVEX_LEN_0F38C7_R_6_P_2_W_1 enums. - -2019-06-27 Jan Beulich - - * i386-dis.c (VEX_LEN_0F2A_P_1, VEX_LEN_0F2A_P_3, - VEX_LEN_0F2C_P_1, VEX_LEN_0F2C_P_3, VEX_LEN_0F2D_P_1, - VEX_LEN_0F2D_P_3): Delete. - (vex_len_table): Move vcvtsi2ss, vcvtsi2sd, vcvttss2si, - vcvttsd2si, vcvtss2si, and vcvtsd2si leaf entries ... - (prefix_table): ... here. - -2019-06-27 Jan Beulich - - * i386-dis.c (Iq): Delete. - (Id): New. - (reg_table): Use it for lwpins, lwpval, and bextr. Use Edq for - TBM insns. - (vex_len_table): Use Edq for vcvtsi2ss, vcvtsi2sd. Use Gdq for - vcvttss2si, vcvttsd2si, vcvtss2si, and vcvtsd2si. - (OP_E_memory): Also honor needindex when deciding whether an - address size prefix needs printing. - (OP_I): Remove handling of q_mode. Add handling of d_mode. - -2019-06-26 Jim Wilson - - PR binutils/24739 - * riscv-dis.c (riscv_disasemble_insn): Set info->endian_code. - Set info->display_endian to info->endian_code. - -2019-06-25 Jan Beulich - - * i386-gen.c (operand_type_init): Correct OPERAND_TYPE_DEBUG - entry. Drop OPERAND_TYPE_ACC entry. Add OPERAND_TYPE_ACC8 and - OPERAND_TYPE_ACC16 entries. Adjust OPERAND_TYPE_ACC32 and - OPERAND_TYPE_ACC64 entries. - * i386-init.h: Re-generate. - -2019-06-25 Jan Beulich - - * i386-dis.c (Edqa, dqa_mode, EVEX_W_0F2A_P_1, EVEX_W_0F7B_P_1): - Delete. - (intel_operand_size, OP_E_register, OP_E_memory): Drop handling - of dqa_mode. - * i386-dis-evex-prefix.h: Move vcvtsi2ss and vcvtusi2ss leaf - entries here. - * i386-dis-evex-w.h: Drop EVEX_W_0F2A_P_1 and EVEX_W_0F7B_P_1 - entries. Use Edq for vcvtsi2sd and vcvtusi2sd. - -2019-06-25 Jan Beulich - - * i386-dis.c (OP_I64): Forword more cases to OP_I(). Drop local - variables. - -2019-06-25 Jan Beulich - - * i386-dis.c (prefix_table): Use Edq for cvtsi2ss and cvtsi2sd. - Use Gdq for cvttss2si, cvttsd2si, cvtss2si, and cvtsd2si, and - movnti. - * i386-opc.tbl (movnti): Add IgnoreSize. - * i386-tbl.h: Re-generate. - -2019-06-25 Jan Beulich - - * i386-opc.tbl (and): Mark Imm8S form for optimization. - * i386-tbl.h: Re-generate. - -2019-06-21 H.J. Lu - - * i386-dis-evex.h: Break into ... - * i386-dis-evex-len.h: New file. - * i386-dis-evex-mod.h: Likewise. - * i386-dis-evex-prefix.h: Likewise. - * i386-dis-evex-reg.h: Likewise. - * i386-dis-evex-w.h: Likewise. - * i386-dis.c: Include i386-dis-evex-reg.h, i386-dis-evex-prefix.h, - i386-dis-evex.h, i386-dis-evex-len.h, i386-dis-evex-w.h and - i386-dis-evex-mod.h. - -2019-06-19 H.J. Lu - - PR binutils/24700 - * i386-dis-evex.h (evex_table): Update EVEX_W_0F3819_P_2, - EVEX_W_0F381A_P_2, EVEX_W_0F381B_P_2, EVEX_W_0F385A_P_2 and - EVEX_W_0F385B_P_2. - (evex_len_table): Add EVEX_LEN_0F3819_P_2_W_0, - EVEX_LEN_0F3819_P_2_W_1, EVEX_LEN_0F381A_P_2_W_0, - EVEX_LEN_0F381A_P_2_W_1, EVEX_LEN_0F381B_P_2_W_0, - EVEX_LEN_0F381B_P_2_W_1, EVEX_LEN_0F385A_P_2_W_0, - EVEX_LEN_0F385A_P_2_W_1, EVEX_LEN_0F385B_P_2_W_0 and - EVEX_LEN_0F385B_P_2_W_1. - * i386-dis.c (EVEX_LEN_0F3819_P_2_W_0): New enum. - (EVEX_LEN_0F3819_P_2_W_1): Likewise. - (EVEX_LEN_0F381A_P_2_W_0): Likewise. - (EVEX_LEN_0F381A_P_2_W_1): Likewise. - (EVEX_LEN_0F381B_P_2_W_0): Likewise. - (EVEX_LEN_0F381B_P_2_W_1): Likewise. - (EVEX_LEN_0F385A_P_2_W_0): Likewise. - (EVEX_LEN_0F385A_P_2_W_1): Likewise. - (EVEX_LEN_0F385B_P_2_W_0): Likewise. - (EVEX_LEN_0F385B_P_2_W_1): Likewise. - -2019-06-17 H.J. Lu - - PR binutils/24691 - * i386-dis-evex.h (evex_table): Update EVEX_W_0F3A23_P_2, - EVEX_W_0F3A38_P_2, EVEX_W_0F3A39_P_2, EVEX_W_0F3A3A_P_2, - EVEX_W_0F3A3B_P_2 and EVEX_W_0F3A43_P_2. - (evex_len_table): Add EVEX_LEN_0F3A23_P_2_W_0, - EVEX_LEN_0F3A23_P_2_W_1, EVEX_LEN_0F3A38_P_2_W_0, - EVEX_LEN_0F3A38_P_2_W_1, EVEX_LEN_0F3A39_P_2_W_0, - EVEX_LEN_0F3A39_P_2_W_1, EVEX_LEN_0F3A3A_P_2_W_0, - EVEX_LEN_0F3A3A_P_2_W_1, EVEX_LEN_0F3A3B_P_2_W_0, - EVEX_LEN_0F3A3B_P_2_W_1, EVEX_LEN_0F3A43_P_2_W_0 and - EVEX_LEN_0F3A43_P_2_W_1. - * i386-dis.c (EVEX_LEN_0F3A23_P_2_W_0): New enum. - (EVEX_LEN_0F3A23_P_2_W_1): Likewise. - (EVEX_LEN_0F3A38_P_2_W_0): Likewise. - (EVEX_LEN_0F3A38_P_2_W_1): Likewise. - (EVEX_LEN_0F3A39_P_2_W_0): Likewise. - (EVEX_LEN_0F3A39_P_2_W_1): Likewise. - (EVEX_LEN_0F3A3A_P_2_W_0): Likewise. - (EVEX_LEN_0F3A3A_P_2_W_1): Likewise. - (EVEX_LEN_0F3A3B_P_2_W_0): Likewise. - (EVEX_LEN_0F3A3B_P_2_W_1): Likewise. - (EVEX_LEN_0F3A43_P_2_W_0): Likewise. - (EVEX_LEN_0F3A43_P_2_W_1): Likewise. - -2019-06-14 Nick Clifton - - * po/fr.po; Updated French translation. - -2019-06-13 Stafford Horne - - * or1k-asm.c: Regenerated. - * or1k-desc.c: Regenerated. - * or1k-desc.h: Regenerated. - * or1k-dis.c: Regenerated. - * or1k-ibld.c: Regenerated. - * or1k-opc.c: Regenerated. - * or1k-opc.h: Regenerated. - * or1k-opinst.c: Regenerated. - -2019-06-12 Peter Bergner - - * ppc-opc.c (powerpc_opcodes) : Delete mnemonic. - -2019-06-05 H.J. Lu - - PR binutils/24633 - * i386-dis-evex.h (evex_table): Update EVEX_W_0F3A18_P_2, - EVEX_W_0F3A19_P_2, EVEX_W_0F3A1A_P_2 and EVEX_W_0F3A1B_P_2. - (evex_len_table): EVEX_LEN_0F3A18_P_2_W_0, - EVEX_LEN_0F3A18_P_2_W_1, EVEX_LEN_0F3A19_P_2_W_0, - EVEX_LEN_0F3A19_P_2_W_1, EVEX_LEN_0F3A1A_P_2_W_0, - EVEX_LEN_0F3A1A_P_2_W_1, EVEX_LEN_0F3A1B_P_2_W_0, - EVEX_LEN_0F3A1B_P_2_W_1. - * i386-dis.c (EVEX_LEN_0F3A18_P_2_W_0): New enum. - (EVEX_LEN_0F3A18_P_2_W_1): Likewise. - (EVEX_LEN_0F3A19_P_2_W_0): Likewise. - (EVEX_LEN_0F3A19_P_2_W_1): Likewise. - (EVEX_LEN_0F3A1A_P_2_W_0): Likewise. - (EVEX_LEN_0F3A1A_P_2_W_1): Likewise. - (EVEX_LEN_0F3A1B_P_2_W_0): Likewise. - (EVEX_LEN_0F3A1B_P_2_W_1): Likewise. - -2019-06-04 H.J. Lu - - PR binutils/24626 - * i386-dis.c (print_insn): Check for unused VEX.vvvv and - EVEX.vvvv when disassembling VEX and EVEX instructions. - (OP_VEX): Set vex.register_specifier to 0 after readding - vex.register_specifier. - (OP_Vex_2src_1): Likewise. - (OP_Vex_2src_2): Likewise. - (OP_LWP_E): Likewise. - (OP_EX_Vex): Don't check vex.register_specifier. - (OP_XMM_Vex): Likewise. - -2019-06-04 Igor Tsimbalist - Lili Cui - - * i386-dis.c (enum): Add PREFIX_EVEX_0F3868, EVEX_W_0F3868_P_3. - * i386-dis-evex.h (evex_table): Add AVX512_VP2INTERSECT - instructions. - * i386-gen.c (cpu_flag_init): Add CPU_AVX512_VP2INTERSECT_FLAGS, - CPU_ANY_AVX512_VP2INTERSECT_FLAGS. - (cpu_flags): Add CpuAVX512_VP2INTERSECT. - * i386-opc.h (enum): Add CpuAVX512_VP2INTERSECT. - (i386_cpu_flags): Add cpuavx512_vp2intersect. - * i386-opc.tbl: Add AVX512_VP2INTERSECT insns. - * i386-init.h: Regenerated. - * i386-tbl.h: Likewise. - -2019-06-04 Xuepeng Guo - Lili Cui - - * doc/c-i386.texi: Document enqcmd. - * testsuite/gas/i386/enqcmd-intel.d: New file. - * testsuite/gas/i386/enqcmd-inval.l: Likewise. - * testsuite/gas/i386/enqcmd-inval.s: Likewise. - * testsuite/gas/i386/enqcmd.d: Likewise. - * testsuite/gas/i386/enqcmd.s: Likewise. - * testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise. - * testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise. - * testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise. - * testsuite/gas/i386/x86-64-enqcmd.d: Likewise. - * testsuite/gas/i386/x86-64-enqcmd.s: Likewise. - * testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval, - enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval, - and x86-64-enqcmd. - -2019-06-04 Alan Hayward - - * arm-dis.c (is_mve_unpredictable): Remove spurious paranthesis. - -2019-06-03 Alan Modra - - * ppc-dis.c (prefix_opcd_indices): Correct size. - -2019-05-28 H.J. Lu - - PR gas/24625 - * i386-opc.tbl: Add CheckRegSize to AVX512_BF16 instructions with - Disp8ShiftVL. - * i386-tbl.h: Regenerated. - -2019-05-24 Alan Modra - - * po/POTFILES.in: Regenerate. - -2019-05-24 Peter Bergner - Alan Modra - - * ppc-opc.c (insert_d34, extract_d34, insert_nsi34, extract_nsi34), - (insert_pcrel, extract_pcrel, extract_pcrel0): New functions. - (extract_esync, extract_raq, extract_tbr, extract_sxl): Comment. - (powerpc_operands ): Define and add entries. - (P8LS, PMLS, P_D_MASK, P_DRAPCREL_MASK): Define. - (prefix_opcodes): Add pli, paddi, pla, psubi, plwz, plbz, pstw, - pstb, plhz, plha, psth, plfs, plfd, pstfs, pstfd, plq, plxsd, - plxssp, pld, plwa, pstxsd, pstxssp, pstxv, pstd, and pstq. - -2019-05-24 Peter Bergner - Alan Modra - - * ppc-dis.c (ppc_opts): Add "future" entry. - (PREFIX_OPCD_SEGS): Define. - (prefix_opcd_indices): New array. - (disassemble_init_powerpc): Initialize prefix_opcd_indices. - (lookup_prefix): New function. - (print_insn_powerpc): Handle 64-bit prefix instructions. - * ppc-opc.c (PREFIX_OP, PREFIX_FORM, SUFFIX_MASK, PREFIX_MASK), - (PMRR, POWERXX): Define. - (prefix_opcodes): New instruction table. - (prefix_num_opcodes): New constant. - -2019-05-23 Jose E. Marchesi - - * configure.ac (SHARED_DEPENDENCIES): Add case for bfd_bpf_arch. - * configure: Regenerated. - * Makefile.am: Add rules for the files generated from cpu/bpf.cpu - and cpu/bpf.opc. - (HFILES): Add bpf-desc.h and bpf-opc.h. - (TARGET_LIBOPCODES_CFILES): Add bpf-asm.c, bpf-desc.c, bpf-dis.c, - bpf-ibld.c and bpf-opc.c. - (BPF_DEPS): Define. - * Makefile.in: Regenerated. - * disassemble.c (ARCH_bpf): Define. - (disassembler): Add case for bfd_arch_bpf. - (disassemble_init_for_target): Likewise. - (enum epbf_isa_attr): Define. - * disassemble.h: extern print_insn_bpf. - * bpf-asm.c: Generated. - * bpf-opc.h: Likewise. - * bpf-opc.c: Likewise. - * bpf-ibld.c: Likewise. - * bpf-dis.c: Likewise. - * bpf-desc.h: Likewise. - * bpf-desc.c: Likewise. - -2019-05-21 Sudakshina Das - - * arm-dis.c (coprocessor_opcodes): New instructions for VMRS - and VMSR with the new operands. - -2019-05-21 Sudakshina Das - - * arm-dis.c (enum mve_instructions): New enum - for csinc, csinv, csneg, csel, cset, csetm, cinv, cinv - and cneg. - (mve_opcodes): New instructions as above. - (is_mve_encoding_conflict): Add cases for csinc, csinv, - csneg and csel. - (print_insn_mve): Accept new %c and %C. - -2019-05-21 Sudakshina Das - - * arm-dis.c (emun mve_instructions): Updated for new instructions. - (mve_opcodes): New instructions for asrl, lsll, lsrl, sqrshrl, - sqrshr, sqshl, sqshll, srshr, srshrl, uqrshll, uqrshl, uqshll, - uqshl, urshrl and urshr. - (is_mve_okay_in_it): Add new instructions to TRUE list. - (is_mve_unpredictable): Add cases for UNPRED_R13 and UNPRED_R15. - (print_insn_mve): Updated to accept new %j, - %m and %n patterns. - -2019-05-21 Faraz Shahbazker - - * mips-opc.c (mips_builtin_opcodes): Change source register - constraint for DAUI. - -2019-05-20 Nick Clifton - - * po/fr.po: Updated French translation. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (thumb32_opcodes): Add new instructions. - (enum mve_instructions): Likewise. - (enum mve_undefined): Add new reasons. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_undefined): Likewise. - (print_mve_size): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (thumb32_opcodes): Add new instructions. - (enum mve_instructions): Likewise. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_size): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (thumb32_opcodes): Add new instructions. - (enum mve_instructions): Likewise. - (is_mve_encoding_conflict): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_size): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (thumb32_opcodes): Add new instructions. - (enum mve_instructions): Likewise. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_size): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (thumb32_opcodes): Add new instructions. - (enum mve_instructions): Likewise. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_size): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (thumb32_opcodes): Add new instructions. - (print_insn_thumb32): Handle new instructions. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_undefined): Add new reasons. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_undefined): Likewise. - (print_mve_size): Likewise. - (print_mve_shift_n): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_unpredictable): Likewise. - (print_mve_rotate): Likewise. - (print_mve_size): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_unpredictable): Likewise. - (print_mve_size): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_undefined): Add new reasons. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_undefined): Likewise. - (print_mve_size): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_size): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_unpredictable): Add new reasons. - (enum mve_undefined): Likewise. - (is_mve_okay_in_it): Handle new isntructions. - (is_mve_encoding_conflict): Likewise. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_vmov_index): Likewise. - (print_simd_imm8): Likewise. - (print_mve_undefined): Likewise. - (print_mve_unpredictable): Likewise. - (print_mve_size): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_unpredictable): Add new reasons. - (enum mve_undefined): Likewise. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_undefined): Likewise. - (print_mve_unpredictable): Likewise. - (print_mve_rounding_mode): Likewise. - (print_mve_vcvt_size): Likewise. - (print_mve_size): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_unpredictable): Add new reasons. - (enum mve_undefined): Likewise. - (is_mve_undefined): Handle new instructions. - (is_mve_unpredictable): Likewise. - (print_mve_undefined): Likewise. - (print_mve_unpredictable): Likewise. - (print_mve_size): Likewise. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_undefined): Add new reasons. - (insns): Add new instructions. - (is_mve_encoding_conflict): - (print_mve_vld_str_addr): New print function. - (is_mve_undefined): Handle new instructions. - (is_mve_unpredictable): Likewise. - (print_mve_undefined): Likewise. - (print_mve_size): Likewise. - (print_insn_coprocessor_1): Handle MVE VLDR, VSTR instructions. - (print_insn_mve): Handle new operands. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_unpredictable): Add new reasons. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_unpredictable): Likewise. - (mve_opcodes): Add new instructions. - (print_mve_unpredictable): Handle new reasons. - (print_mve_register_blocks): New print function. - (print_mve_size): Handle new instructions. - (print_insn_mve): Likewise. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_unpredictable): Add new reasons. - (enum mve_undefined): Likewise. - (is_mve_encoding_conflict): Handle new instructions. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (coprocessor_opcodes): Move NEON VDUP from here... - (neon_opcodes): ... to here. - (mve_opcodes): Add new instructions. - (print_mve_undefined): Handle new reasons. - (print_mve_unpredictable): Likewise. - (print_mve_size): Handle new instructions. - (print_insn_neon): Handle vdup. - (print_insn_mve): Handle new operands. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): Add new instructions. - (enum mve_unpredictable): Add new values. - (mve_opcodes): Add new instructions. - (vec_condnames): New array with vector conditions. - (mve_predicatenames): New array with predicate suffixes. - (mve_vec_sizename): New array with vector sizes. - (enum vpt_pred_state): New enum with vector predication states. - (struct vpt_block): New struct type for vpt blocks. - (vpt_block_state): Global struct to keep track of state. - (mve_extract_pred_mask): New helper function. - (num_instructions_vpt_block): Likewise. - (mark_outside_vpt_block): Likewise. - (mark_inside_vpt_block): Likewise. - (invert_next_predicate_state): Likewise. - (update_next_predicate_state): Likewise. - (update_vpt_block_state): Likewise. - (is_vpt_instruction): Likewise. - (is_mve_encoding_conflict): Add entries for new instructions. - (is_mve_unpredictable): Likewise. - (print_mve_unpredictable): Handle new cases. - (print_instruction_predicate): Likewise. - (print_mve_size): New function. - (print_vec_condition): New function. - (print_insn_mve): Handle vpt blocks and new print operands. - -2019-05-16 Andre Vieira - - * arm-dis.c (print_insn_coprocessor_1): Disable the use of coprocessors - 8, 14 and 15 for Armv8.1-M Mainline. - -2019-05-16 Andre Vieira - Michael Collison - - * arm-dis.c (enum mve_instructions): New enum. - (enum mve_unpredictable): Likewise. - (enum mve_undefined): Likewise. - (struct mopcode32): New struct. - (is_mve_okay_in_it): New function. - (is_mve_architecture): Likewise. - (arm_decode_field): Likewise. - (arm_decode_field_multiple): Likewise. - (is_mve_encoding_conflict): Likewise. - (is_mve_undefined): Likewise. - (is_mve_unpredictable): Likewise. - (print_mve_undefined): Likewise. - (print_mve_unpredictable): Likewise. - (print_insn_coprocessor_1): Use arm_decode_field_multiple. - (print_insn_mve): New function. - (print_insn_thumb32): Handle MVE architecture. - (select_arm_features): Force thumb for Armv8.1-m Mainline. - -2019-05-10 Nick Clifton - - PR 24538 - * ia64-opc.c (ia64_find_matching_opcode): Check for reaching the - end of the table prematurely. - -2019-05-10 Faraz Shahbazker - - * mips-opc.c (mips_opcodes): Enable ADD, SUB, DADD and DSUB - macros for R6. - -2019-05-11 Alan Modra - - * ppc-dis.c (print_insn_powerpc) Don't skip optional operands - when -Mraw is in effect. - -2019-05-09 Matthew Malcomson - - * aarch64-dis-2.c: Regenerate. - * aarch64-tbl.h (OP_SVE_BBU): New variant set. - (OP_SVE_BBB): New variant set. - (OP_SVE_DDDD): New variant set. - (OP_SVE_HHH): New variant set. - (OP_SVE_HHHU): New variant set. - (OP_SVE_SSS): New variant set. - (OP_SVE_SSSU): New variant set. - (OP_SVE_SHH): New variant set. - (OP_SVE_SBBU): New variant set. - (OP_SVE_DSS): New variant set. - (OP_SVE_DHHU): New variant set. - (OP_SVE_VMV_HSD_BHS): New variant set. - (OP_SVE_VVU_HSD_BHS): New variant set. - (OP_SVE_VVVU_SD_BH): New variant set. - (OP_SVE_VVVU_BHSD): New variant set. - (OP_SVE_VVV_QHD_DBS): New variant set. - (OP_SVE_VVV_HSD_BHS): New variant set. - (OP_SVE_VVV_HSD_BHS2): New variant set. - (OP_SVE_VVV_BHS_HSD): New variant set. - (OP_SVE_VV_BHS_HSD): New variant set. - (OP_SVE_VVV_SD): New variant set. - (OP_SVE_VVU_BHS_HSD): New variant set. - (OP_SVE_VZVV_SD): New variant set. - (OP_SVE_VZVV_BH): New variant set. - (OP_SVE_VZV_SD): New variant set. - (aarch64_opcode_table): Add sve2 instructions. - -2019-05-09 Matthew Malcomson - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking - for SVE_SHLIMM_UNPRED_22. - (aarch64_print_operand): Add printing for SVE_SHLIMM_UNPRED_22. - * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHLIMM_UNPRED_22 - operand. - -2019-05-09 Matthew Malcomson - - * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle - sve_size_tsz_bhs iclass encode. - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle - sve_size_tsz_bhs iclass decode. - -2019-05-09 Matthew Malcomson - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking - for SVE_Zm4_11_INDEX. - (aarch64_print_operand): Add printing for SVE_Zm4_11_INDEX. - (fields): Handle SVE_i2h field. - * aarch64-opc.h (enum aarch64_field_kind): New SVE_i2h field. - * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm4_11_INDEX operand. - -2019-05-09 Matthew Malcomson - - * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle - sve_shift_tsz_bhsd iclass encode. - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle - sve_shift_tsz_bhsd iclass decode. - -2019-05-09 Matthew Malcomson - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - * aarch64-asm.c (aarch64_ins_sve_shrimm): - (aarch64_encode_variant_using_iclass): Handle - sve_shift_tsz_hsd iclass encode. - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle - sve_shift_tsz_hsd iclass decode. - * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking - for SVE_SHRIMM_UNPRED_22. - (aarch64_print_operand): Add printing for SVE_SHRIMM_UNPRED_22. - * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHRIMM_UNPRED_22 - operand. - -2019-05-09 Matthew Malcomson - - * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle - sve_size_013 iclass encode. - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle - sve_size_013 iclass decode. - -2019-05-09 Matthew Malcomson - - * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle - sve_size_bh iclass encode. - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle - sve_size_bh iclass decode. - -2019-05-09 Matthew Malcomson - - * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle - sve_size_sd2 iclass encode. - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle - sve_size_sd2 iclass decode. - * aarch64-opc.c (fields): Handle SVE_sz2 field. - * aarch64-opc.h (enum aarch64_field_kind): New SVE_sz2 field. - -2019-05-09 Matthew Malcomson - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking - for SVE_ADDR_ZX. - (aarch64_print_operand): Add printing for SVE_ADDR_ZX. - * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_ADDR_ZX operand. - -2019-05-09 Matthew Malcomson - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking - for SVE_Zm3_11_INDEX. - (aarch64_print_operand): Add printing for SVE_Zm3_11_INDEX. - (fields): Handle SVE_i3l and SVE_i3h2 fields. - * aarch64-opc.h (enum aarch64_field_kind): New SVE_i3l and SVE_i3h2 - fields. - * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm3_11_INDEX operand. - -2019-05-09 Matthew Malcomson - - * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle - sve_size_hsd2 iclass encode. - * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle - sve_size_hsd2 iclass decode. - * aarch64-opc.c (fields): Handle SVE_size field. - * aarch64-opc.h (enum aarch64_field_kind): New SVE_size field. - -2019-05-09 Matthew Malcomson - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking - for SVE_IMM_ROT3. - (aarch64_print_operand): Add printing for SVE_IMM_ROT3. - (fields): Handle SVE_rot3 field. - * aarch64-opc.h (enum aarch64_field_kind): New SVE_rot3 field. - * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_IMM_ROT3 operand. - -2019-05-09 Matthew Malcomson - - * aarch64-opc.c (verify_constraints): Check for movprfx for sve2 - instructions. - -2019-05-09 Matthew Malcomson - - * aarch64-tbl.h - (aarch64_feature_sve2, aarch64_feature_sve2aes, - aarch64_feature_sve2sha3, aarch64_feature_sve2sm4, - aarch64_feature_sve2bitperm): New feature sets. - (SVE2, SVE2_AES, SVE2_SHA3, SVE2_SM4, SVE2_BITPERM): New macros - for feature set addresses. - (SVE2_INSN, SVE2_INSNC, SVE2AES_INSN, SVE2SHA3_INSN, - SVE2SM4_INSN, SVE2SM4_INSNC, SVE2BITPERM_INSN): New macros. - -2019-05-06 Andrew Bennett - Faraz Shahbazker - - * mips-dis.c (mips_calculate_combination_ases): Add ISA - argument and set ASE_EVA_R6 appropriately. - (set_default_mips_dis_options): Pass ISA to above. - (parse_mips_dis_option): Likewise. - * mips-opc.c (EVAR6): New macro. - (mips_builtin_opcodes): Add llwpe, scwpe. - -2019-05-01 Sudakshina Das - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - * aarch64-opc.c (operand_general_constraint_met_p): Add case for - AARCH64_OPND_TME_UIMM16. - (aarch64_print_operand): Likewise. - * aarch64-tbl.h (QL_IMM_NIL): New. - (TME): New. - (_TME_INSN): New. - (struct aarch64_opcode): Add tstart, tcommit, ttest and tcancel. - -2019-04-29 John Darrington - - * s12z-opc.c (shift_discrim): Return OP_INVALID when reading fails. - -2019-04-26 Andrew Bennett - Faraz Shahbazker - - * mips-opc.c (mips_builtin_opcodes): Add llwp, lldp, scwp, scdp. - -2019-04-24 John Darrington - - * s12z-opc.h: Add extern "C" bracketing to help - users who wish to use this interface in c++ code. - -2019-04-24 John Darrington - - * s12z-opc.c (bm_decode): Handle bit map operations with the - "reserved0" mode. - -2019-04-15 Thomas Preud'homme - - * arm-dis.c (coprocessor_opcodes): Document new %J and %K format - specifier. Add entries for VLDR and VSTR of system registers. - (print_insn_coprocessor): Forbid coprocessor numbers 8, 14 and 15 in - coprocessor instructions on Armv8.1-M Mainline targets. Add handling - of %J and %K format specifier. - -2019-04-15 Thomas Preud'homme - - * arm-dis.c (coprocessor_opcodes): Document new %C format control code. - Add new entries for VSCCLRM instruction. - (print_insn_coprocessor): Handle new %C format control code. - -2019-04-15 Thomas Preud'homme - - * arm-dis.c (enum isa): New enum. - (struct sopcode32): New structure. - (coprocessor_opcodes): change type of entries to struct sopcode32 and - set isa field of all current entries to ANY. - (print_insn_coprocessor): Change type of insn to struct sopcode32. - Only match an entry if its isa field allows the current mode. - -2019-04-15 Thomas Preud'homme - - * arm-dis.c (thumb_opcodes): Document %n control code. Add entry for - CLRM. - (print_insn_thumb32): Add logic to print %n CLRM register list. - -2019-04-15 Sudakshina Das - - * arm-dis.c (print_insn_thumb32): Updated to accept new %P - and %Q patterns. - -2019-04-15 Sudakshina Das - - * arm-dis.c (thumb32_opcodes): New instruction bfcsel. - (print_insn_thumb32): Edit the switch case for %Z. - -2019-04-15 Sudakshina Das - - * arm-dis.c (print_insn_thumb32): Updated to accept new %Z pattern. - -2019-04-15 Sudakshina Das - - * arm-dis.c (thumb32_opcodes): New instruction bfl. - -2019-04-15 Sudakshina Das - - * arm-dis.c (print_insn_thumb32): Updated to accept new %Y pattern. - -2019-04-15 Sudakshina Das - - * arm-dis.c (print_insn_thumb32): Add '%S' to print an - Arm register with r13 and r15 unpredictable. - (thumb32_opcodes): New instructions for bfx and bflx. - -2019-04-15 Sudakshina Das - - * arm-dis.c (thumb32_opcodes): New instructions for bf. - -2019-04-15 Sudakshina Das - - * arm-dis.c (print_insn_thumb32): Updated to accept new %W pattern. - -2019-04-15 Sudakshina Das - - * arm-dis.c (print_insn_thumb32): Updated to accept new %G pattern. - -2019-04-15 Thomas Preud'homme - - * arm-dis.c (select_arm_features): Add logic for Armv8.1-M Mainline. - -2019-04-12 John Darrington - - s12z-dis.c, s12z-opc.c, s12z-opc.h: Replace "operator" with - "optr". ("operator" is a reserved word in c++). - -2019-04-11 Sudakshina Das - - * aarch64-opc.c (aarch64_print_operand): Add case for - AARCH64_OPND_Rt_SP. - (verify_constraints): Likewise. - * aarch64-tbl.h (QL_LDST_AT): Update to add SP qualifier. - (struct aarch64_opcode): Update stg, stzg, st2g, stz2g instructions - to accept Rt|SP as first operand. - (AARCH64_OPERANDS): Add new Rt_SP. - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - -2019-04-11 Sudakshina Das - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Likewise. - * aarch64-opc-2.c: Likewise. - * aarch64-tbl.h (aarch64_opcode): Add new ldgm and stgm. - -2019-04-09 Robert Suchanek - - * mips-opc.c (mips_builtin_opcodes): Add RDHWR rt rd sel. - -2019-04-08 H.J. Lu - - * i386-opc.tbl: Consolidate AVX512 BF16 entries. - * i386-init.h: Regenerated. - -2019-04-07 Alan Modra - - * ppc-dis.c (print_insn_powerpc): Use a tiny state machine - op_separator to control printing of spaces, comma and parens - rather than need_comma, need_paren and spaces vars. - -2019-04-07 Alan Modra - - PR 24421 - * arm-dis.c (print_insn_coprocessor): Correct bracket placement. - (print_insn_neon, print_insn_arm): Likewise. - -2019-04-05 Xuepeng Guo - - * i386-dis-evex.h (evex_table): Updated to support BF16 - instructions. - * i386-dis.c (enum): Add EVEX_W_0F3852_P_1, EVEX_W_0F3872_P_1 - and EVEX_W_0F3872_P_3. - * i386-gen.c (cpu_flag_init): Add CPU_AVX512_BF16_FLAGS. - (cpu_flags): Add bitfield for CpuAVX512_BF16. - * i386-opc.h (enum): Add CpuAVX512_BF16. - (i386_cpu_flags): Add bitfield for cpuavx512_bf16. - * i386-opc.tbl: Add AVX512 BF16 instructions. - * i386-init.h: Regenerated. - * i386-tbl.h: Likewise. - -2019-04-05 Alan Modra - - * ppc-opc.c (XLBH_MASK): Subtract off BH field from BB_MASK. - (powerpc_opcodes): Reorder bcctr and bclr extended mnemonics - to favour printing of "-" branch hint when using the "y" bit. - Allow BH field on bc{ctr,lr,tar}{,l}{-,+}. - -2019-04-05 Alan Modra - - * ppc-dis.c (print_insn_powerpc): Delay printing spaces after - opcode until first operand is output. - -2019-04-04 Peter Bergner - - PR gas/24349 - * ppc-opc.c (valid_bo_pre_v2): Add comments. - (valid_bo_post_v2): Add support for 'at' branch hints. - (insert_bo): Only error on branch on ctr. - (get_bo_hint_mask): New function. - (insert_boe): Add new 'branch_taken' formal argument. Add support - for inserting 'at' branch hints. - (extract_boe): Add new 'branch_taken' formal argument. Add support - for extracting 'at' branch hints. - (insert_bom, extract_bom, insert_bop, extract_bop): New functions. - (BOE): Delete operand. - (BOM, BOP): New operands. - (RM): Update value. - (XLYLK, XLYLK_MASK, XLYBB_MASK): Delete. - (powerpc_opcodes) : Replace BOE with BOM. - (powerpc_opcodes) : Replace BOE with BOP. - : New extended mnemonics. - -2019-03-28 Alan Modra - - PR 24390 - * ppc-opc.c (BTF): Define. - (powerpc_opcodes): Use for mtfsb*. - * ppc-dis.c (print_insn_powerpc): Print fields with both - PPC_OPERAND_CR_REG and PPC_OPERAND_CR_BIT as a plain number. - -2019-03-25 Tamar Christina - - * arm-dis.c (struct arm_private_data): Remove has_mapping_symbols. - (mapping_symbol_for_insn): Implement new algorithm. - (print_insn): Remove duplicate code. - -2019-03-25 Tamar Christina - - * aarch64-dis.c (print_insn_aarch64): - Implement override. - -2019-03-25 Tamar Christina - - * aarch64-dis.c (print_insn_aarch64): Update the mapping symbol search - order. - -2019-03-25 Tamar Christina - - * aarch64-dis.c (last_stop_offset): New. - (print_insn_aarch64): Use stop_offset. - -2019-03-19 H.J. Lu - - PR gas/24359 - * i386-gen.c (cpu_flag_init): Add CPU_ANY_AVX512F_FLAGS to - CPU_ANY_AVX2_FLAGS. - * i386-init.h: Regenerated. - -2019-03-18 H.J. Lu - - PR gas/24348 - * i386-opc.tbl: Add Optimize to vmovdqa32, vmovdqa64, vmovdqu8, - vmovdqu16, vmovdqu32 and vmovdqu64. - * i386-tbl.h: Regenerated. - -2019-03-12 Andreas Krebbel - - * s390-opc.txt: Rename selhhhr to selfhr. Remove optional operand - from vstrszb, vstrszh, and vstrszf. - -2019-03-12 Andreas Krebbel - - * s390-opc.txt: Add instruction descriptions. - -2019-02-08 Jim Wilson - - * riscv-opc.c (riscv_opcodes) : Use Cz to compress 3 operand form. - : Likewise. - -2019-02-07 Tamar Christina - - * arm-dis.c (arm_opcodes): Redefine hlt to armv1. - -2019-02-07 Tamar Christina - - PR binutils/23212 - * aarch64-opc.h (enum aarch64_field_kind): Add FLD_sz. - * aarch64-opc.c (verify_elem_sd): New. - (fields): Add FLD_sz entr. - * aarch64-tbl.h (_SIMD_INSN): New. - (aarch64_opcode_table): Add elem_sd verifier to fmla, fmls, fmul and - fmulx scalar and vector by element isns. - -2019-02-07 Nick Clifton - - * po/sv.po: Updated Swedish translation. - -2019-01-31 Andreas Krebbel - - * s390-mkopc.c (main): Accept arch13 as cpu string. - * s390-opc.c: Add new instruction formats and instruction opcode - masks. - * s390-opc.txt: Add new arch13 instructions. - -2019-01-25 Sudakshina Das - - * aarch64-tbl.h (QL_LDST_AT): Update macro. - (aarch64_opcode): Change encoding for stg, stzg - st2g and st2zg. - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - -2019-01-25 Sudakshina Das - - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Likewise. - * aarch64-opc-2.c: Likewise. - * aarch64-tbl.h (aarch64_opcode): Add new stzgm. - -2019-01-25 Sudakshina Das - Ramana Radhakrishnan - - * aarch64-asm.c (aarch64_ins_addr_simple_2): Remove. - * aarch64-asm.h (ins_addr_simple_2): Likeiwse. - * aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise. - * aarch64-dis.h (ext_addr_simple_2): Likewise. - * aarch64-opc.c (operand_general_constraint_met_p): Remove - case for ldstgv_indexed. - (aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2. - * aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv. - (AARCH64_OPERANDS): Remove ADDR_SIMPLE_2. - * aarch64-asm-2.c: Regenerated. - * aarch64-dis-2.c: Regenerated. - * aarch64-opc-2.c: Regenerated. - -2019-01-23 Nick Clifton - - * po/pt_BR.po: Updated Brazilian Portuguese translation. - -2019-01-21 Nick Clifton - - * po/de.po: Updated German translation. - * po/uk.po: Updated Ukranian translation. - -2019-01-20 Chenghua Xu - * mips-dis.c (mips_arch_choices): Fix typo in - gs464, gs464e and gs264e descriptors. - -2019-01-19 Nick Clifton - - * configure: Regenerate. - * po/opcodes.pot: Regenerate. - -2018-06-24 Nick Clifton - - 2.32 branch created. - -2019-01-09 John Darrington - - * s12z-dis.c (print_insn_s12z): Do not dereference an operand - if it is null. - -dis.c (opr_emit_disassembly): Do not omit an index if it is - zero. - -2019-01-09 Andrew Paprocki - - * configure: Regenerate. - -2019-01-07 Alan Modra - - * configure: Regenerate. - * po/POTFILES.in: Regenerate. - -2019-01-03 John Darrington - - * s12z-opc.c: New file. - * s12z-opc.h: New file. - * s12z-dis.c: Removed all code not directly related to display - of instructions. Used the interface provided by the new files - instead. - * Makefile.am (TARGET_LIBOPCODES_CFILES) Add s12z-opc.c. - * Makefile.in: Regenerate. - * configure.ac (bfd_s12z_arch): Correct the dependencies. - * configure: Regenerate. - -2019-01-01 Alan Modra - - Update year range in copyright notice of all files. - -For older changes see ChangeLog-2018 +For older changes see ChangeLog-2019 -Copyright (C) 2019 Free Software Foundation, Inc. +Copyright (C) 2020 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/opcodes/ChangeLog-2019 b/opcodes/ChangeLog-2019 new file mode 100644 index 00000000000..5021447c18b --- /dev/null +++ b/opcodes/ChangeLog-2019 @@ -0,0 +1,2456 @@ +2019-12-30 Alan Modra + + PR 25319 + * tic4x-dis.c (tic4x_print_cond): Correct order of xcalloc args. + +2019-12-29 Alan Modra + + * sparc-dis.c (SEX): Don't use left and right shift to sign extend. + (compare_opcodes): Avoid signed shift left overflow. + (print_insn_sparc): Likewise. + +2019-12-29 Alan Modra + + PR 25319 + * tic4x-dis.c (tic4x_print_cond): Init all of condtable. + +2019-12-27 Jan Beulich + + * i386-dis.c (Jdqw): Define. + (dqw_mode): Adjust associated comment. + (rm_table): Use Jdqw for XBEGIN. + (OP_J): Handle dqw_mode. + +2019-12-27 Jan Beulich + + * i386-gen.c (process_i386_operand_type): Don't set Disp32 for + Cpu64 templates. + * i386-opc.tbl (mov): Fold two templates. + (jcxz, jecxz, jrcxz, loop, loope, loopne, loopnz, loopz): Drop + Disp16, Disp32, and Disp32S. + (xbegin): Add Disp32S. + * i386-tbl.h: Re-generate. + +2019-12-26 Alan Modra + + * crx-dis.c (get_number_of_operands): Don't access operands[] + out of bounds. + +2019-12-26 Alan Modra + + * v850-dis.c (disassemble): Avoid signed overflow. Don't use + long vars when unsigned int will do. + +2019-12-24 Alan Modra + + * arm-dis.c (print_insn_arm): Don't shift by 32 on unsigned int var. + +2019-12-23 Jan Beulich + + * ppc-dis.c (print_insn_powerpc): Rename local variable "spaces" + to "blanks". + * ppc-opc.c (D34, SI34, NSI34): Use UINT64_C(). + +2019-12-23 Alan Modra + + * score-dis.c (print_insn_score32): Avoid signed overflow. + (print_insn_score48): Likewise. Don't cast to int when printing + hex values. + +2019-12-23 Alan Modra + + * iq2000-ibld.c: Regenerate. + +2019-12-23 Alan Modra + + * d30v-dis.c (extract_value): Make num param a uint64_t, constify + oper. Use unsigned vars. + (print_insn): Make num var uint64_t. Constify oper and remove now + unnecessary casts on extract_value calls. + (print_insn_d30v): Use unsigned vars. Adjust printf formats. + +2019-12-23 Alan Modra + + * wasm32-dis.c (wasm_read_leb128): Don't allow oversize shifts. + Catch value overflow. Sign extend only on terminating byte. + +2019-12-20 Alan Modra + + PR 25281 + * sh-dis.c (print_insn_ddt): Properly check validity of MOVX_NOPY + and MOVY_NOPX insns. For invalid cases include 0xf000 in the word + printed. Print .word in more cases. + +2019-12-20 Alan Modra + + * or1k-ibld.c: Regenerate. + +2019-12-20 Alan Modra + + * hppa-dis.c (extract_16, extract_21, print_insn_hppa): Use + unsigned variables. + +2019-12-20 Alan Modra + + * m68hc11-dis.c (read_memory): Delete forward decls. + (print_indexed_operand, print_insn): Likewise. + (print_indexed_operand): Formatting. Don't rely on short being + exactly 16 bits, make sign extension explicit. + (print_insn): Likewise. Avoid signed overflow. + +2019-12-19 Alan Modra + + * vax-dis.c (print_insn_mode): Stop index mode recursion. + +2019-12-19 Dr N.W. Filardo + + PR 25277 + * microblaze-opcm.h (enum microblaze_instr): Prefix fadd, fmul and + fdiv with "mbi_". + * microblaze-opc.h (opcodes): Adjust to suit. + +2019-12-18 Alan Modra + + * alpha-opc.c (OP): Avoid signed overflow. + * arm-dis.c (print_insn): Likewise. + * mcore-dis.c (print_insn_mcore): Likewise. + * pj-dis.c (get_int): Likewise. + * ppc-opc.c (EBD15, EBD15BI): Likewise. + * score7-dis.c (s7_print_insn): Likewise. + * tic30-dis.c (print_insn_tic30): Likewise. + * v850-opc.c (insert_SELID): Likewise. + * vax-dis.c (print_insn_vax): Likewise. + * arc-ext.c (create_map): Likewise. + (struct ExtAuxRegister): Make "address" field unsigned int. + (arcExtMap_auxRegName): Pass unsigned address. + (dump_ARC_extmap): Adjust. + * arc-ext.h (arcExtMap_auxRegName): Update prototype. + +2019-12-17 Alan Modra + + * visium-dis.c (print_insn_visium): Avoid signed overflow. + +2019-12-17 Alan Modra + + * aarch64-opc.c (value_fit_signed_field_p): Avoid signed overflow. + (value_fit_unsigned_field_p): Likewise. + (aarch64_wide_constant_p): Likewise. + (operand_general_constraint_met_p): Likewise. + * aarch64-opc.h (aarch64_wide_constant_p): Update prototype. + +2019-12-17 Alan Modra + + * nds32-dis.c (nds32_mask_opcode): Avoid signed overflow. + (print_insn_nds32): Use uint64_t for "given" and "given1". + +2019-12-17 Alan Modra + + * tic80-dis.c: Delete file. + * tic80-opc.c: Delete file. + * disassemble.c: Remove tic80 support. + * disassemble.h: Likewise. + * Makefile.am: Likewise. + * configure.ac: Likewise. + * Makefile.in: Regenerate. + * configure: Regenerate. + * po/POTFILES.in: Regenerate. + +2019-12-17 Alan Modra + + * bpf-ibld.c: Regenerate. + +2019-12-16 Alan Modra + + * aarch64-dis.c (sign_extend): Return uint64_t. Rewrite without + conditional. + (aarch64_ext_imm): Avoid signed overflow. + +2019-12-16 Alan Modra + + * microblaze-dis.c (read_insn_microblaze): Avoid signed overflow. + +2019-12-16 Alan Modra + + * nios2-dis.c (nios2_print_insn_arg): Avoid signed overflow + +2019-12-16 Alan Modra + + * xstormy16-ibld.c: Regenerate. + +2019-12-16 Alan Modra + + * score-dis.c (print_insn_score16): Move rpush/rpop imm field + value adjustment so that it doesn't affect reg field too. + +2019-12-16 Alan Modra + + * crx-dis.c (EXTRACT, SBM): Avoid signed overflow. + (get_number_of_operands, getargtype, getbits, getregname), + (getcopregname, getprocregname, gettrapstring, getcinvstring), + (getregliststring, get_word_at_PC, get_words_at_PC, build_mask), + (powerof2, match_opcode, make_instruction, print_arguments), + (print_arg): Delete forward declarations, moving static to.. + (getregname, getcopregname, getregliststring): ..these definitions. + (build_mask): Return unsigned int mask. + (match_opcode): Use unsigned int vars. + +2019-12-16 Alan Modra + + * bfin-dis.c (fmtconst, fmtconst_val): Avoid signed overflow. + +2019-12-16 Alan Modra + + * nds32-dis.c (print_insn16, print_insn32): Remove forward decls. + (struct objdump_disasm_info): Delete. + (nds32_parse_audio_ext, nds32_parse_opcode): Cast result of + N32_IMMS to unsigned before shifting left. + +2019-12-16 Alan Modra + + * moxie-dis.c (INST2OFFSET): Don't left shift a signed value. + (print_insn_moxie): Remove unnecessary cast. + +2019-12-12 Alan Modra + + * csky-dis.c (csky_chars_to_number): Remove abort and unnecessary + mask. + +2019-12-11 Alan Modra + + * arc-dis.c (BITS): Don't truncate high bits with shifts. + * nios2-dis.c (nios2_print_insn_arg): Don't sign extend with shifts. + * tic54x-dis.c (print_instruction): Likewise. + * tilegx-opc.c (parse_insn_tilegx): Likewise. + * tilepro-opc.c (parse_insn_tilepro): Likewise. + * visium-dis.c (disassem_class0): Likewise. + * pdp11-dis.c (sign_extend): Likewise. + (SIGN_BITS): Delete. + * epiphany-ibld.c: Regenerate. + * lm32-ibld.c: Regenerate. + * m32c-ibld.c: Regenerate. + +2019-12-11 Alan Modra + + * ns32k-dis.c (sign_extend): Correct last patch. + +2019-12-11 Alan Modra + + * vax-dis.c (NEXTLONG): Avoid signed overflow. + +2019-12-11 Alan Modra + + * v850-dis.c (get_operand_value): Use unsigned arithmetic. Don't + sign extend using shifts. + +2019-12-11 Alan Modra + + * tic6x-dis.c (tic6x_extract_32): Avoid signed overflow. + +2019-12-11 Alan Modra + + * tic4x-dis.c (tic4x_print_register): Formatting. Don't segfault + on NULL registertable entry. + (tic4x_hash_opcode): Use unsigned arithmetic. + +2019-12-11 Alan Modra + + * s12z-opc.c (z_decode_signed_value): Avoid signed overflow. + +2019-12-11 Alan Modra + + * ns32k-dis.c (bit_extract): Use unsigned arithmetic. + (bit_extract_simple, sign_extend): Likewise. + +2019-12-11 Alan Modra + + * nios2-dis.c (nios2_print_insn_arg): Use 1u << 31. + +2019-12-11 Alan Modra + + * moxie-dis.c (INST2OFFSET): Don't sign extend using shifts. + +2019-12-11 Alan Modra + + * m68k-dis.c (COERCE32): Cast value first. + (NEXTLONG, NEXTULONG): Avoid signed overflow. + +2019-12-11 Alan Modra + + * h8300-dis.c (extract_immediate): Avoid signed overflow. + (bfd_h8_disassemble): Likewise. + +2019-12-11 Alan Modra + + * d30v-dis.c (print_insn): Make opind unsigned. Don't access + past end of operands array. + +2019-12-11 Alan Modra + + * csky-dis.c (csky_chars_to_number): Rewrite. Avoid signed + overflow when collecting bytes of a number. + +2019-12-11 Alan Modra + + * cris-dis.c (print_with_operands): Avoid signed integer + overflow when collecting bytes of a 32-bit integer. + +2019-12-11 Alan Modra + + * cr16-dis.c (EXTRACT, SBM): Rewrite. + (cr16_match_opcode): Delete duplicate bcond test. + +2019-12-11 Alan Modra + + * bfin-dis.c (HOST_LONG_WORD_SIZE, XFIELD): Delete. + (SIGNBIT): New. + (MASKBITS, SIGNEXTEND): Rewrite. + (fmtconst): Don't use ? expression now that SIGNEXTEND uses + unsigned arithmetic, instead assign result of SIGNEXTEND back + to x. + (fmtconst_val): Use 1u in shift expression. + +2019-12-11 Alan Modra + + * arc-dis.c (find_format_from_table): Use ull constant when + shifting by up to 32. + +2019-12-11 Alan Modra + + PR 25270 + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Return + false when field is zero for sve_size_tsz_bhs. + +2019-12-11 Alan Modra + + * epiphany-ibld.c: Regenerate. + +2019-12-10 Alan Modra + + PR 24960 + * disassemble.c (disassemble_free_target): New function. + +2019-12-10 Alan Modra + + * cgen-dis.in (print_insn_@arch@): Replace insn_sets with private_data. + * disassemble.c (disassemble_init_for_target): Likewise. + * bpf-dis.c: Regenerate. + * epiphany-dis.c: Regenerate. + * fr30-dis.c: Regenerate. + * frv-dis.c: Regenerate. + * ip2k-dis.c: Regenerate. + * iq2000-dis.c: Regenerate. + * lm32-dis.c: Regenerate. + * m32c-dis.c: Regenerate. + * m32r-dis.c: Regenerate. + * mep-dis.c: Regenerate. + * mt-dis.c: Regenerate. + * or1k-dis.c: Regenerate. + * xc16x-dis.c: Regenerate. + * xstormy16-dis.c: Regenerate. + +2019-12-10 Alan Modra + + * ppc-dis.c (private): Delete variable. + (get_powerpc_dialect): Don't segfault on NULL info->private_data. + (powerpc_init_dialect): Don't use global private. + +2019-12-10 Alan Modra + + * s12z-opc.c: Formatting. + +2019-12-08 Alan Modra + + * s12z-opc.c (exg_sex_discrim): Don't leak memory on invalid + registers. + +2019-12-05 Jan Beulich + + * aarch64-tbl.h (aarch64_feature_crypto, + aarch64_feature_crypto_v8_2, CRYPTO, CRYPTO_V8_2, CRYP_INSN, + CRYPTO_V8_2_INSN): Delete. + +2019-12-05 Alan Modra + + PR 25249 + * microblaze-dis.c (NUM_STRBUFS, STRBUF_SIZE): Define. + (struct string_buf): New. + (strbuf): New function. + (get_field): Use strbuf rather than strdup of local temp. + (get_field_imm, get_field_imm5, get_field_imm5_mbar): Likewise. + (get_field_rfsl, get_field_imm15): Likewise. + (get_field_rd, get_field_r1, get_field_r2): Update macros. + (get_field_special): Likewise. Don't strcpy spr. Formatting. + (print_insn_microblaze): Formatting. Init and pass string_buf to + get_field functions. + +2019-12-04 Jan Beulich + + * i386-opc.tbl (lfs, lgs, lss): Drop No_qSuf. + * i386-tbl.h: Re-generate. + +2019-12-04 Jan Beulich + + * i386-dis.c (mod_table): Use Ev instead of Em for movdiri. + +2019-12-04 Jan Beulich + + * i386-opc.tbl (push, pop): Drop DefaultSize from GPR-only + forms. + (xbegin): Drop DefaultSize. + * i386-tbl.h: Re-generate. + +2019-11-22 Mihail Ionescu + + * opcodes/arm-dis.c (arm_opcodes, thumb32_opcodes): + Change the coproc CRC conditions to use the extension + feature set, second word, base on ARM_EXT2_CRC. + +2019-11-14 Jan Beulich + + * i386-opc.tbl (syscall, sysret): Drop Cpu64 forms. + * i386-tbl.h: Re-generate. + +2019-11-14 Jan Beulich + + * i386-gen.c (opcode_modifiers): Remove JumpDword, JumpByte, + JumpInterSegment, and JumpAbsolute entries. + * i386-opc.h (JUMP, JUMP_DWORD, JUMP_BYTE, JUMP_INTERSEGMENT, + JUMP_ABSOLUTE): Define. + (struct i386_opcode_modifier): Extend jump field to 3 bits. + Remove jumpdword, jumpbyte, jumpintersegment, and jumpabsolute + fields. + * i386-opc.tbl (JumpByte, JumpDword, JumpAbsolute, + JumpInterSegment): Define. + * i386-tbl.h: Re-generate. + +2019-11-14 Jan Beulich + + * i386-gen.c (operand_type_init): Remove + OPERAND_TYPE_JUMPABSOLUTE entry. + (opcode_modifiers): Add JumpAbsolute entry. + (operand_types): Remove JumpAbsolute entry. + * i386-opc.h (JumpAbsolute): Move between enums. + (struct i386_opcode_modifier): Add jumpabsolute field. + (union i386_operand_type): Remove jumpabsolute field. + * i386-opc.tbl (call, lcall, jmp, ljmp): Move JumpAbsolute. + * i386-init.h, i386-tbl.h: Re-generate. + +2019-11-14 Jan Beulich + + * i386-gen.c (opcode_modifiers): Add AnySize entry. + (operand_types): Remove AnySize entry. + * i386-opc.h (AnySize): Move between enums. + (struct i386_opcode_modifier): Add anysize field. + (OTUnused): Un-comment. + (union i386_operand_type): Remove anysize field. + * i386-opc.tbl (lea, invlpg, clflush, prefetchnta, prefetcht0, + prefetcht1, prefetcht2, prefetchtw, bndmk, bndcl, bndcu, bndcn, + bndstx, bndldx, prefetchwt1, clflushopt, clwb, cldemote): Move + AnySize. + * i386-tbl.h: Re-generate. + +2019-11-12 Nelson Chu + + * riscv-opc.c (riscv_insn_types): Replace the INSN_CLASS_I with + INSN_CLASS_F and the INSN_CLASS_C with INSN_CLASS_F_AND_C if we + use the floating point register (FPR). + +2019-11-12 Mihail Ionescu + + * opcodes/arm-dis.c (mve_opcodes): Enable VMOV imm to vec with + cmode 1101. + (is_mve_encoding_conflict): Update cmode conflict checks for + MVE_VMVN_IMM. + +2019-11-12 Jan Beulich + + * i386-gen.c (operand_type_init): Remove OPERAND_TYPE_ESSEG + entry. + (operand_types): Remove EsSeg entry. + (main): Replace stale use of OTMax. + * i386-opc.h (IS_STRING_ES_OP0, IS_STRING_ES_OP1): Define. + (struct i386_opcode_modifier): Expand isstring field to 2 bits. + (EsSeg): Delete. + (OTUnused): Comment out. + (union i386_operand_type): Remove esseg field. + * i386-opc.tbl (IsStringEsOp0, IsStringEsOp1): Define. + (cmps, scmp, scas, ssca, cmpsd): Add IsStringEsOp0. + (ins, movs, smov, movsd): Add IsStringEsOpOp1. + (stos, ssto): Add IsStringEsOp0/IsStringEsOpOp1. + * i386-init.h, i386-tbl.h: Re-generate. + +2019-11-12 Jan Beulich + + * i386-gen.c (operand_instances): Add RegB entry. + * i386-opc.h (enum operand_instance): Add RegB. + * i386-opc.tbl (RegC, RegD, RegB): Define. + (Acc, ShiftCount, InOutPortReg): Adjust definitions. + (monitor, mwait, invlpga, skinit, vmload, vmrun, vmsave, clzero, + monitorx, mwaitx): Drop ImmExt and convert encodings + accordingly. + * i386-reg.tbl (ecx, rcx): Add Instance=RegC. + (edx, rdx): Add Instance=RegD. + (ebx, rbx): Add Instance=RegB. + * i386-tbl.h: Re-generate. + +2019-11-12 Jan Beulich + + * i386-gen.c (operand_type_init): Adjust + OPERAND_TYPE_INOUTPORTREG, OPERAND_TYPE_SHIFTCOUNT, + OPERAND_TYPE_FLOATACC, OPERAND_TYPE_ACC8, OPERAND_TYPE_ACC16, + OPERAND_TYPE_ACC32, and OPERAND_TYPE_ACC64 entries. + (operand_instances): New. + (operand_types): Drop InOutPortReg, ShiftCount, and Acc entries. + (output_operand_type): New parameter "instance". Process it. + (process_i386_operand_type): New local variable "instance". + (main): Adjust static assertions. + * i386-opc.h (INSTANCE_WIDTH): Define. + (enum operand_instance): New. + (Acc, InOutPortReg, ShiftCount): Replace by ClassInstance. + (union i386_operand_type): Replace acc, inoutportreg, and + shiftcount by instance. + * i386-opc.tbl (Acc, InOutPortReg, ShiftCount): Define. + * i386-reg.tbl (st, al, cl, ax, dx, eax, rax, xmm0, st(0)): + Add Instance=. + * i386-init.h, i386-tbl.h: Re-generate. + +2019-11-11 Jan Beulich + + * aarch64-tbl.h (aarch64_opcode_table): Switch SVE2's + smaxp/sminp entries' "tied_operand" field to 2. + +2019-11-11 Jan Beulich + + * aarch64-opc.c (operand_general_constraint_met_p): Replace + "index" local variable by that of the already existing "num". + +2019-11-08 H.J. Lu + + PR gas/25167 + * i386-opc.tbl: Remove IgnoreSize from cmpsd and movsd. + * i386-tbl.h: Regenerated. + +2019-11-08 Jan Beulich + + * i386-gen.c (operand_type_init): Add Class= to + OPERAND_TYPE_REGMASK and OPERAND_TYPE_REGBND entries. Move up + OPERAND_TYPE_REGBND entry. + (operand_classes): Add RegMask and RegBND entries. + (operand_types): Drop RegMask and RegBND entry. + * i386-opc.h (enum operand_class): Add RegMask and RegBND. + (RegMask, RegBND): Delete. + (union i386_operand_type): Remove regmask and regbnd fields. + * i386-opc.tbl (RegMask, RegBND): Define. + * i386-reg.tbl: Replace RegMask by Class=RegMask and RegBND by + Class=RegBND. + * i386-init.h, i386-tbl.h: Re-generate. + +2019-11-08 Jan Beulich + + * i386-gen.c (operand_type_init): Add Class= to + OPERAND_TYPE_REGMMX, OPERAND_TYPE_REGXMM, OPERAND_TYPE_REGYMM, and + OPERAND_TYPE_REGZMM entries. + (operand_classes): Add RegMMX and RegSIMD entries. + (operand_types): Drop RegMMX and RegSIMD entries. + * i386-opc.h (enum operand_class): Add RegMMX and RegSIMD. + (RegMMX, RegSIMD): Delete. + (union i386_operand_type): Remove regmmx and regsimd fields. + * i386-opc.tbl (RegMMX): Define. + (RegXMM, RegYMM, RegZMM): Add Class=. + * i386-reg.tbl: Replace RegMMX by Class=RegMMX and RegSIMD by + Class=RegSIMD. + * i386-init.h, i386-tbl.h: Re-generate. + +2019-11-08 Jan Beulich + + * i386-gen.c (operand_type_init): Add Class= to + OPERAND_TYPE_CONTROL, OPERAND_TYPE_TEST, and OPERAND_TYPE_DEBUG + entries. + (operand_classes): Add RegCR, RegDR, and RegTR entries. + (operand_types): Drop Control, Debug, and Test entries. + * i386-opc.h (enum operand_class): Add RegCR, RegDR, and RegTR. + (Control, Debug, Test): Delete. + (union i386_operand_type): Remove control, debug, and test + fields. + * i386-opc.tbl (Control, Debug, Test): Define. + * i386-reg.tbl: Replace Control by Class=RegCR, Debug by + Class=RegDR, and Test by Class=RegTR. + * i386-init.h, i386-tbl.h: Re-generate. + +2019-11-08 Jan Beulich + + * i386-gen.c (operand_type_init): Add Class= to + OPERAND_TYPE_SREG entry. + (operand_classes): Add SReg entry. + (operand_types): Drop SReg entry. + * i386-opc.h (enum operand_class): Add SReg. + (SReg): Delete. + (union i386_operand_type): Remove sreg field. + * i386-opc.tbl (SReg): Define. + * i386-reg.tbl: Replace SReg by Class=SReg. + * i386-init.h, i386-tbl.h: Re-generate. + +2019-11-08 Jan Beulich + + * i386-gen.c (operand_type_init): Add Class=. New + OPERAND_TYPE_ANYIMM entry. + (operand_classes): New. + (operand_types): Drop Reg entry. + (output_operand_type): New parameter "class". Process it. + (process_i386_operand_type): New local variable "class". + (main): Adjust static assertions. + * i386-opc.h (CLASS_WIDTH): Define. + (enum operand_class): New. + (Reg): Replace by Class. Adjust comment. + (union i386_operand_type): Replace reg by class. + * i386-opc.tbl (Reg8, Reg16, Reg32, Reg64, FloatReg): Add + Class=. + * i386-reg.tbl: Replace Reg by Class=Reg. + * i386-init.h: Re-generate. + +2019-11-07 Mihail Ionescu + + * opcodes/aarch64-tbl.h (V8_6_INSN): New macro for v8.6 instructions. + (aarch64_opcode_table): Add data gathering hint mnemonic. + * opcodes/aarch64-dis-2.c: Account for new instruction. + +2019-11-07 Mihail Ionescu + + * arm-dis.c (neon_opcodes): Add i8mm SIMD instructions. + + +2019-11-07 Mihail Ionescu + + * aarch64-tbl.h (aarch64_feature_i8mm_sve, aarch64_feature_f32mm_sve, + aarch64_feature_f64mm_sve, aarch64_feature_i8mm, aarch64_feature_f32mm, + aarch64_feature_f64mm): New feature sets. + (INT8MATMUL_INSN, F64MATMUL_SVE_INSN, F64MATMUL_INSN, + F32MATMUL_SVE_INSN, F32MATMUL_INSN): New macros to define matrix multiply + instructions. + (I8MM_SVE, F32MM_SVE, F64MM_SVE, I8MM, F32MM, F64MM): New feature set + macros. + (QL_MMLA64, OP_SVE_SBB): New qualifiers. + (OP_SVE_QQQ): New qualifier. + (INT8MATMUL_SVE_INSNC, F64MATMUL_SVE_INSNC, + F32MATMUL_SVE_INSNC): New feature set for bfloat16 instructions to support + the movprfx constraint. + (aarch64_opcode_table): Support for SVE_ADDR_RI_S4x32. + (aarch64_opcode_table): Define new instructions smmla, + ummla, usmmla, usdot, sudot, fmmla, ld1rob, ld1roh, ld1row, ld1rod, + uzip{1/2}, trn{1/2}. + * aarch64-opc.c (operand_general_constraint_met_p): Handle + AARCH64_OPND_SVE_ADDR_RI_S4x32. + (aarch64_print_operand): Handle AARCH64_OPND_SVE_ADDR_RI_S4x32. + * aarch64-dis-2.c (aarch64_opcode_lookup_1, aarch64_find_next_opcode): + Account for new instructions. + * opcodes/aarch64-asm-2.c (aarch64_insert_operand): Support the new + S4x32 operand. + * aarch64-opc-2.c (aarch64_operands): Support the new S4x32 operand. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * arm-dis.c (select_arm_features): Update bfd_march_arm_8 with + Armv8.6-A. + (coprocessor_opcodes): Add bfloat16 vcvt{t,b}. + (neon_opcodes): Add bfloat SIMD instructions. + (print_insn_coprocessor): Add new control character %b to print + condition code without checking cp_num. + (print_insn_neon): Account for BFloat16 instructions that have no + special top-byte handling. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * arm-dis.c (print_insn_coprocessor, + print_insn_generic_coprocessor): Create wrapper functions around + the implementation of the print_insn_coprocessor control codes. + (print_insn_coprocessor_1): Original print_insn_coprocessor + function that now takes which array to look at as an argument. + (print_insn_arm): Use both print_insn_coprocessor and + print_insn_generic_coprocessor. + (print_insn_thumb32): As above. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * aarch64-asm.c (aarch64_ins_reglane): Use AARCH64_OPND_QLF_S_2H + in reglane special case. + * aarch64-dis-2.c (aarch64_opcode_lookup_1, + aarch64_find_next_opcode): Account for new instructions. + * aarch64-dis.c (aarch64_ext_reglane): Use AARCH64_OPND_QLF_S_2H + in reglane special case. + * aarch64-opc.c (struct operand_qualifier_data): Add data for + new AARCH64_OPND_QLF_S_2H qualifier. + * aarch64-tbl.h (QL_BFDOT QL_BFDOT64, QL_BFDOT64I, QL_BFMMLA2, + QL_BFCVT64, QL_BFCVTN64, QL_BFCVTN2_64): New qualifiers. + (aarch64_feature_bfloat16, aarch64_feature_bfloat16_sve): New feature + sets. + (BFLOAT_SVE, BFLOAT): New feature set macros. + (BFLOAT_SVE_INSN, BFLOAT_INSN): New macros to define BFloat16 + instructions. + (aarch64_opcode_table): Define new instructions bfdot, + bfmmla, bfcvt, bfcvtnt, bfdot, bfdot, bfcvtn, bfmlal[b/t] + bfcvtn2, bfcvt. + +2019-11-07 Mihail Ionescu +2019-11-07 Matthew Malcomson + + * aarch64-tbl.h (ARMV8_6): New macro. + +2019-11-07 Jan Beulich + + * i386-dis.c (prefix_table): Add mcommit. + (rm_table): Add rdpru. + * i386-gen.c (cpu_flag_init): Adjust CPU_ZNVER2_FLAGS entry. Add + CPU_RDPRU_FLAGS and CPU_MCOMMIT_FLAGS entries. + (cpu_flags): Add CpuRDPRU and CpuMCOMMIT entries. + * i386-opc.h (CpuRDPRU, CpuMCOMMIT): New. + (union i386_cpu_flags): Add cpurdpru and cpumcommit fields. + * i386-opc.tbl (mcommit, rdpru): New. + * i386-init.h, i386-tbl.h: Re-generate. + +2019-11-07 Jan Beulich + + * i386-dis.c (OP_Mwait): Drop local variable "names", use + "names32" instead. + (OP_Monitor): Drop local variable "op1_names", re-purpose + "names" for it instead, and replace former "names" uses by + "names32" ones. + +2019-11-07 Jan Beulich + + PR/gas 25167 + * opcodes/i386-opc.tbl (movsd, cmpsd): Drop IgnoreSize from + operand-less forms. + * opcodes/i386-tbl.h: Re-generate. + +2019-11-05 Jan Beulich + + * i386-dis.c (OP_Mwaitx): Delete. + (prefix_table): Use OP_Mwait for mwaitx entry. + (OP_Mwait): Also handle mwaitx. + +2019-11-05 Jan Beulich + + * i386-dis.c (PREFIX_0F01_REG_7_MOD_3_RM_2, + PREFIX_0F01_REG_7_MOD_3_RM_3): New. + (prefix_table): Add respective entries. + (rm_table): Link to those entries. + +2019-11-05 Jan Beulich + + * i386-dis.c (REG_0F1C_MOD_0): Rename to ... + (REG_0F1C_P_0_MOD_0): ... this. + (REG_0F1E_MOD_3): Rename to ... + (REG_0F1E_P_1_MOD_3): ... this. + (RM_0F01_REG_5): Rename to ... + (RM_0F01_REG_5_MOD_3): ... this. + (RM_0F01_REG_7): Rename to ... + (RM_0F01_REG_7_MOD_3): ... this. + (RM_0F1E_MOD_3_REG_7): Rename to ... + (RM_0F1E_P_1_MOD_3_REG_7): ... this. + (RM_0FAE_REG_6): Rename to ... + (RM_0FAE_REG_6_MOD_3_P_0): ... this. + (RM_0FAE_REG_7): Rename to ... + (RM_0FAE_REG_7_MOD_3): ... this. + (PREFIX_MOD_0_0F01_REG_5): Rename to ... + (PREFIX_0F01_REG_5_MOD_0): ... this. + (PREFIX_MOD_3_0F01_REG_5_RM_0): Rename to ... + (PREFIX_0F01_REG_5_MOD_3_RM_0): ... this. + (PREFIX_MOD_3_0F01_REG_5_RM_2): Rename to ... + (PREFIX_0F01_REG_5_MOD_3_RM_2): ... this. + (PREFIX_0FAE_REG_0): Rename to ... + (PREFIX_0FAE_REG_0_MOD_3): ... this. + (PREFIX_0FAE_REG_1): Rename to ... + (PREFIX_0FAE_REG_1_MOD_3): ... this. + (PREFIX_0FAE_REG_2): Rename to ... + (PREFIX_0FAE_REG_2_MOD_3): ... this. + (PREFIX_0FAE_REG_3): Rename to ... + (PREFIX_0FAE_REG_3_MOD_3): ... this. + (PREFIX_MOD_0_0FAE_REG_4): Rename to ... + (PREFIX_0FAE_REG_4_MOD_0): ... this. + (PREFIX_MOD_3_0FAE_REG_4): Rename to ... + (PREFIX_0FAE_REG_4_MOD_3): ... this. + (PREFIX_MOD_0_0FAE_REG_5): Rename to ... + (PREFIX_0FAE_REG_5_MOD_0): ... this. + (PREFIX_MOD_3_0FAE_REG_5): Rename to ... + (PREFIX_0FAE_REG_5_MOD_3): ... this. + (PREFIX_MOD_0_0FAE_REG_6): Rename to ... + (PREFIX_0FAE_REG_6_MOD_0): ... this. + (PREFIX_MOD_1_0FAE_REG_6): Rename to ... + (PREFIX_0FAE_REG_6_MOD_3): ... this. + (PREFIX_0FAE_REG_7): Rename to ... + (PREFIX_0FAE_REG_7_MOD_0): ... this. + (PREFIX_MOD_0_0FC3): Rename to ... + (PREFIX_0FC3_MOD_0): ... this. + (PREFIX_MOD_0_0FC7_REG_6): Rename to ... + (PREFIX_0FC7_REG_6_MOD_0): ... this. + (PREFIX_MOD_3_0FC7_REG_6): Rename to ... + (PREFIX_0FC7_REG_6_MOD_3): ... this. + (PREFIX_MOD_3_0FC7_REG_7): Rename to ... + (PREFIX_0FC7_REG_7_MOD_3): ... this. + (reg_table, prefix_table, mod_table, rm_table): Adjust + accordingly. + +2019-11-04 Nick Clifton + + * v850-dis.c (get_v850_sreg_name): New function. Returns the name + of a v850 system register. Move the v850_sreg_names array into + this function. + (get_v850_reg_name): Likewise for ordinary register names. + (get_v850_vreg_name): Likewise for vector register names. + (get_v850_cc_name): Likewise for condition codes. + * get_v850_float_cc_name): Likewise for floating point condition + codes. + (get_v850_cacheop_name): Likewise for cache-ops. + (get_v850_prefop_name): Likewise for pref-ops. + (disassemble): Use the new accessor functions. + +2019-10-30 Delia Burduv + + * aarch64-opc.c (print_immediate_offset_address): Don't print the + immediate for the writeback form of ldraa/ldrab if it is 0. + * aarch64-tbl.h: Updated the documentation for ADDR_SIMM10. + * aarch64-opc-2.c: Regenerated. + +2019-10-30 Jan Beulich + + * i386-gen.c (operand_type_shorthands): Delete. + (operand_type_init): Expand previous shorthands. + (set_bitfield_from_shorthand): Rename back to ... + (set_bitfield_from_cpu_flag_init): ... this. Drop processing + of operand_type_init[]. + (set_bitfield): Adjust call to the above function. + * i386-opc.tbl (Reg8, Reg16, Reg32, Reg64, FloatAcc, FloatReg, + RegXMM, RegYMM, RegZMM): Define. + * i386-reg.tbl: Expand prior shorthands. + +2019-10-30 Jan Beulich + + * i386-gen.c (output_i386_opcode): Change order of fields + emitted to output. + * i386-opc.h (struct insn_template): Move operands field. + Convert extension_opcode field to unsigned short. + * i386-tbl.h: Re-generate. + +2019-10-30 Jan Beulich + + * i386-gen.c (process_i386_opcode_modifier): Report bogus uses + of W. + * i386-opc.h (W): Extend comment. + * i386-opc.tbl (mov, movabs, movq): Drop W and adjust opcodes of + general purpose variants not allowing for byte operands. + * i386-tbl.h: Re-generate. + +2019-10-29 Nick Clifton + + * tic30-dis.c (print_branch): Correct size of operand array. + +2019-10-29 Nick Clifton + + * d30v-dis.c (print_insn): Check that operand index is valid + before attempting to access the operands array. + +2019-10-29 Nick Clifton + + * ia64-opc.c (locate_opcode_ent): Prevent a negative shift when + locating the bit to be tested. + +2019-10-29 Nick Clifton + + * s12z-dis.c (opr_emit_disassembly): Check for illegal register + values. + (shift_size_table): Use a fixed size defined as S12Z_N_SIZES. + (print_insn_s12z): Check for illegal size values. + +2019-10-28 Nick Clifton + + * csky-dis.c (csky_chars_to_number): Check for a negative + count. Use an unsigned integer to construct the return value. + +2019-10-28 Nick Clifton + + * tic30-dis.c (OPERAND_BUFFER_LEN): Define. Use as length of + operand buffer. Set value to 15 not 13. + (get_register_operand): Use OPERAND_BUFFER_LEN. + (get_indirect_operand): Likewise. + (print_two_operand): Likewise. + (print_three_operand): Likewise. + (print_oar_insn): Likewise. + +2019-10-28 Nick Clifton + + * ns32k-dis.c (bit_extract): Add sanitiy check of parameters. + (bit_extract_simple): Likewise. + (bit_copy): Likewise. + (pirnt_insn_ns32k): Ensure that uninitialised elements in the + index_offset array are not accessed. + +2019-10-28 Nick Clifton + + * xgate-dis.c (print_insn): Fix decoding of the XGATE_OP_DYA + operand. + +2019-10-25 Nick Clifton + + * rx-dis.c (print_insn_rx): Use parenthesis to ensure correct + access to opcodes.op array element. + +2019-10-23 Nick Clifton + + * rx-dis.c (get_register_name): Fix spelling typo in error + message. + (get_condition_name, get_flag_name, get_double_register_name) + (get_double_register_high_name, get_double_register_low_name) + (get_double_control_register_name, get_double_condition_name) + (get_opsize_name, get_size_name): Likewise. + +2019-10-22 Nick Clifton + + * rx-dis.c (get_size_name): New function. Provides safe + access to name array. + (get_opsize_name): Likewise. + (print_insn_rx): Use the accessor functions. + +2019-10-16 Nick Clifton + + * rx-dis.c (get_register_name): New function. Provides safe + access to name array. + (get_condition_name, get_flag_name, get_double_register_name) + (get_double_register_high_name, get_double_register_low_name) + (get_double_control_register_name, get_double_condition_name): + Likewise. + (print_insn_rx): Use the accessor functions. + +2019-10-09 Nick Clifton + + PR 25041 + * avr-dis.c (avr_operand): Fix construction of address for lds/sts + instructions. + +2019-10-07 Jan Beulich + + * opcodes/i386-opc.tbl (movsd): Add Dword and IgnoreSize. + (cmpsd): Likewise. Move EsSeg to other operand. + * opcodes/i386-tbl.h: Re-generate. + +2019-09-23 Alan Modra + + * m68k-dis.c: Include cpu-m68k.h + +2019-09-23 Alan Modra + + * mips-dis.c: Include elfxx-mips.h. Move "elf-bfd.h" and + "elf/mips.h" earlier. + +2018-09-20 Jan Beulich + + PR gas/25012 + * i386-opc.tbl (push, pop): Re-instate distinct Cpu64 templates + with SReg operand. + * i386-tbl.h: Re-generate. + +2019-09-18 Alan Modra + + * arc-ext.c: Update throughout for bfd section macro changes. + +2019-09-18 Simon Marchi + + * Makefile.in: Re-generate. + * configure: Re-generate. + +2019-09-17 Maxim Blinov + + * riscv-opc.c (riscv_opcodes): Change subset field + to insn_class field for all instructions. + (riscv_insn_types): Likewise. + +2019-09-16 Phil Blundell + + * configure: Regenerated. + +2019-09-10 Miod Vallat + + PR 24982 + * m68k-opc.c: Correct aliases for tdivsl and tdivul. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-09-03 Nick Clifton + + PR 24961 + * tic30-dis.c (get_indirect_operand): Check for bufcnt being + greater than zero before indexing via (bufcnt -1). + +2019-09-03 Nick Clifton + + PR 24958 + * mmix-dis.c (MAX_REG_NAME_LEN): Define. + (MAX_SPEC_REG_NAME_LEN): Define. + (struct mmix_dis_info): Use defined constants for array lengths. + (get_reg_name): New function. + (get_sprec_reg_name): New function. + (print_insn_mmix): Use new functions. + +2019-08-27 Srinath Parvathaneni + + * arm-dis.c (mve_opcodes): Add entry for MVE_VMOV_VEC_TO_VEC. + (is_mve_undefined): Add case for MVE_VMOV_VEC_TO_VEC. + (print_insn_mve): Add condition to check Qm==Qn of VORR instruction. + +2019-08-22 Kyrylo Tkachov + + * aarch64-opc.c (aarch64_sys_regs): Update encoding of tfsre0_el1, + tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12. + (aarch64_sys_reg_supported_p): Update checks for the above. + +2019-08-12 Srinath Parvathaneni + + * arm-dis.c (struct mopcode32 mve_opcodes): Modify the mask for + cases MVE_SQRSHRL and MVE_UQRSHLL. + (print_insn_mve): Add case for specifier 'k' to check + specific bit of the instruction. + +2019-08-07 Phillipe Antoine + + PR 24854 + * arc-dis.c (arc_insn_length): Return 0 rather than aborting when + encountering an unknown machine type. + (print_insn_arc): Handle arc_insn_length returning 0. In error + cases return -1 rather than calling abort. + +2019-08-07 Jan Beulich + + * i386-opc.tbl (fld, fstp): Drop FloatMF from extended forms. + (fldcw, fnstcw, fstcw, fnstsw, fstsw): Replace FloatMF by + IgnoreSize. + * i386-tbl.h: Re-generate. + +2019-08-05 Barnaby Wilks + + * arm-dis.c: Only accept signed variants of VQ(R)DMLAH and VQ(R)DMLASH + instructions. + +2019-07-30 Mel Chen + + * riscv-opc.c (riscv_opcodes): Set frsr, fssr, frcsr, fscsr, frrm, + fsrm, fsrmi, frflags, fsflags, fsflagsi to alias instructions. + + * riscv-opc.c (riscv_opcodes): Adjust order of frsr, frcsr, fssr, + fscsr. + +2019-07-24 Claudiu Zissulescu + + * arc-dis.c (skip_this_opcode): Check also for 0x07 major opcodes, + and MPY class instructions. + (parse_option): Add nps400 option. + (print_arc_disassembler_options): Add nps400 info. + +2019-07-24 Claudiu Zissulescu + + * arc-ext-tbl.h (bspeek): Remove it, added to main table. + (bspop): Likewise. + (modapp): Likewise. + * arc-opc.c (RAD_CHK): Add. + * arc-tbl.h: Regenerate. + +2019-07-23 Kyrylo Tkachov + + * aarch64-opc.c (aarch64_sys_regs): Add gmid_el1 entry. + (aarch64_sys_reg_supported_p): Handle gmid_el1 encoding. + +2019-07-22 Barnaby Wilks + + * arm-dis.c (is_mve_unpredictable): Stop marking some MVE + instructions as UNPREDICTABLE. + +2019-07-19 Jose E. Marchesi + + * bpf-desc.c: Regenerated. + +2019-07-17 Jan Beulich + + * i386-gen.c (static_assert): Define. + (main): Use it. + * i386-opc.h (Opcode_Modifier_Max): Rename to ... + (Opcode_Modifier_Num): ... this. + (Mem): Delete. + +2019-07-16 Jan Beulich + + * i386-gen.c (operand_types): Move RegMem ... + (opcode_modifiers): ... here. + * i386-opc.h (RegMem): Move to opcode modifer enum. + (union i386_operand_type): Move regmem field ... + (struct i386_opcode_modifier): ... here. + * i386-opc.tbl (RegMem): Define. + (mov, movq): Move RegMem on segment, control, debug, and test + register flavors. + (pextrb): Move RegMem on register only flavors. Add IgnoreSize + to non-SSE2AVX flavor. + (extractps, pextrw, vcvtps2ph, vextractps, vpextrb, vpextrw): + Move RegMem on register only flavors. Drop IgnoreSize from + legacy encoding flavors. + (movss, movsd, vmovss, vmovsd): Drop RegMem from register only + flavors. + (vpinsrb, vpinsrw): Drop IgnoreSize where still present on + register only flavors. + (vmovd): Move RegMem and drop IgnoreSize on register only + flavor. Change opcode and operand order to store form. + * opcodes/i386-init.h, i386-tbl.h: Re-generate. + +2019-07-16 Jan Beulich + + * i386-gen.c (operand_type_init, operand_types): Replace SReg + entries. + * i386-opc.h (SReg2, SReg3): Replace by ... + (SReg): ... this. + (union i386_operand_type): Replace sreg fields. + * i386-opc.tbl (mov, ): Use SReg. + (push, pop): Likewies. Drop i386 and x86-64 specific segment + register flavors. + * i386-reg.tbl (cs, ds, es, fs, gs, ss, flat): Use SReg. + * opcodes/i386-init.h, i386-tbl.h: Re-generate. + +2019-07-15 Jose E. Marchesi + + * bpf-desc.c: Regenerate. + * bpf-opc.c: Likewise. + * bpf-opc.h: Likewise. + +2019-07-14 Jose E. Marchesi + + * bpf-desc.c: Regenerate. + * bpf-opc.c: Likewise. + +2019-07-10 Hans-Peter Nilsson + + * arm-dis.c (print_insn_coprocessor): Rename index to + index_operand. + +2019-07-05 Kito Cheng + + * riscv-opc.c (riscv_insn_types): Add r4 type. + + * riscv-opc.c (riscv_insn_types): Add b and j type. + + * opcodes/riscv-opc.c (riscv_insn_types): Remove incorrect + format for sb type and correct s type. + +2019-07-02 Richard Sandiford + + * aarch64-tbl.h (aarch64_opcode): Set C_SCAN_MOVPRFX for the + SVE FMOV alias of FCPY. + +2019-07-02 Richard Sandiford + + * aarch64-tbl.h (aarch64_opcode_table): Add C_MAX_ELEM flags + to SVE fcvtzs, fcvtzu, scvtf and ucvtf entries. + +2019-07-02 Richard Sandiford + + * aarch64-opc.c (verify_constraints): Skip GPRs when scanning the + registers in an instruction prefixed by MOVPRFX. + +2019-07-01 Matthew Malcomson + + * aarch64-asm.c (aarch64_encode_variant_using_iclass): Use new + sve_size_13 icode to account for variant behaviour of + pmull{t,b}. + * aarch64-dis-2.c: Regenerate. + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Use new + sve_size_13 icode to account for variant behaviour of + pmull{t,b}. + * aarch64-tbl.h (OP_SVE_VVV_HD_BS): Add new qualifier. + (OP_SVE_VVV_Q_D): Add new qualifier. + (OP_SVE_VVV_QHD_DBS): Remove now unused qualifier. + (struct aarch64_opcode): Split pmull{t,b} into those requiring + AES and those not. + +2019-07-01 Jan Beulich + + * opcodes/i386-gen.c (operand_type_init): Remove + OPERAND_TYPE_VEC_IMM4 entry. + (operand_types): Remove Vec_Imm4. + * opcodes/i386-opc.h (Vec_Imm4): Delete. + (union i386_operand_type): Remove vec_imm4. + * i386-opc.tbl (vpermil2pd, vpermil2ps): Remove Vec_Imm4. + * opcodes/i386-init.h, i386-tbl.h: Re-generate. + +2019-07-01 Jan Beulich + + * i386-opc.tbl (lfence, mfence, sfence, monitor, mwait, vmcall, + vmlaunch, vmresume, vmxoff, vmfunc, xgetbv, xsetbv, swapgs, + rdtscp, clgi, invlpga, skinit, stgi, vmload, vmmcall, vmrun, + vmsave, montmul, xsha1, xsha256, xstorerng, xcryptecb, + xcryptcbc, xcryptctr, xcryptcfb, xcryptofb, xstore, clac, stac, + monitorx, mwaitx): Drop ImmExt from operand-less forms. + * i386-tbl.h: Re-generate. + +2019-07-01 Jan Beulich + + * i386-opc.tbl (and, or): Add Optimize to forms allowing two + register operands. + * i386-tbl.h: Re-generate. + +2019-07-01 Jan Beulich + + * i386-opc.tbl (C): New. + (paddb, paddw, paddd, paddq, paddsb, paddsw, paddusb, paddusw, + pand, pcmpeqb, pcmpeqw, pcmpeqd, pmaddwd, pmulhw, pmullw, + por, pxor, andps, cmpeqps, cmpeqss, cmpneqps, cmpneqss, + cmpordps, cmpordss, cmpunordps, cmpunordss, orps, pavgb, pavgw, + pmaxsw, pmaxub, pminsw, pminub, pmulhuw, xorps, andpd, cmpeqpd, + cmpeqsd, cmpneqpd, cmpneqsd, cmpordpd, cmpordsd, cmpunordpd, + cmpunordsd, orpd, xorpd, pmuludq, vandpd, vandps, vcmpeq_ospd, + vcmpeq_osps, vcmpeq_ossd, vcmpeq_osss, vcmpeqpd, vcmpeqps, + vcmpeqsd, vcmpeqss, vcmpeq_uqpd, vcmpeq_uqps, vcmpeq_uqsd, + vcmpeq_uqss, vcmpeq_uspd, vcmpeq_usps, vcmpeq_ussd, + vcmpeq_usss, vcmpfalse_ospd, vcmpfalse_osps, vcmpfalse_ossd, + vcmpfalse_osss, vcmpfalsepd, vcmpfalseps, vcmpfalsesd, + vcmpfalsess, vcmpneq_oqpd, vcmpneq_oqps, vcmpneq_oqsd, + vcmpneq_oqss, vcmpneq_ospd, vcmpneq_osps, vcmpneq_ossd, + vcmpneq_osss, vcmpneqpd, vcmpneqps, vcmpneqsd, vcmpneqss, + vcmpneq_uspd, vcmpneq_usps, vcmpneq_ussd, vcmpneq_usss, + vcmpordpd, vcmpordps, vcmpordsd, vcmpord_spd, vcmpord_sps, + vcmpordss, vcmpord_ssd, vcmpord_sss, vcmptruepd, vcmptrueps, + vcmptruesd, vcmptruess, vcmptrue_uspd, vcmptrue_usps, + vcmptrue_ussd, vcmptrue_usss, vcmpunordpd, vcmpunordps, + vcmpunordsd, vcmpunord_spd, vcmpunord_sps, vcmpunordss, + vcmpunord_ssd, vcmpunord_sss, vorpd, vorps, vpaddsb, vpaddsw, + vpaddb, vpaddd, vpaddq, vpaddw, vpaddusb, vpaddusw, vpand, + vpavgb, vpavgw, vpcmpeqb, vpcmpeqd, vpcmpeqw, vpmaddwd, + vpmaxsw, vpmaxub, vpminsw, vpminub, vpmulhuw, vpmulhw, vpmullw, + vpmuludq, vpor, vpxor, vxorpd, vxorps): Add C to VEX-encoded + flavors. + * i386-tbl.h: Re-generate. + +2019-07-01 Jan Beulich + + * i386-opc.tbl (and, or): Add Optimize to forms allowing two + register operands. + * i386-tbl.h: Re-generate. + +2019-07-01 Jan Beulich + + * i386-dis-evex-prefix.h: Use PCLMUL for vpclmulqdq. + * i386-opc.tbl (vpclmullqlqdq, vpclmulhqlqdq, vpclmullqhqdq, + vpclmulhqhqdq): Add CpuVPCLMULQDQ flavors. + * i386-tbl.h: Re-generate. + +2019-07-01 Jan Beulich + + * i386-opc.tbl (vextractps, vpextrw, vpinsrw): Remove + Disp8MemShift from register only templates. + * i386-tbl.h: Re-generate. + +2019-07-01 Jan Beulich + + * i386-dis.c (EXdScalarS, MOD_EVEX_0F10_PREFIX_1, + MOD_EVEX_0F10_PREFIX_3, MOD_EVEX_0F11_PREFIX_1, + MOD_EVEX_0F11_PREFIX_3, EVEX_W_0F10_P_1_M_0, + EVEX_W_0F10_P_1_M_1, EVEX_W_0F10_P_3_M_0, EVEX_W_0F10_P_3_M_1, + EVEX_W_0F11_P_1_M_0, EVEX_W_0F11_P_1_M_1, EVEX_W_0F11_P_3_M_0, + EVEX_W_0F11_P_3_M_1): Delete. + (EVEX_W_0F10_P_1, EVEX_W_0F10_P_3, EVEX_W_0F11_P_1, + EVEX_W_0F11_P_3): New. + * i386-dis-evex-mod.h: Remove MOD_EVEX_0F10_PREFIX_1, + MOD_EVEX_0F10_PREFIX_3, MOD_EVEX_0F11_PREFIX_1, and + MOD_EVEX_0F11_PREFIX_3 table entries. + * i386-dis-evex-prefix.h: Adjust PREFIX_EVEX_0F10 and + PREFIX_EVEX_0F11 table entries. + * i386-dis-evex-w.h: Replace EVEX_W_0F10_P_1_M_{0,1}, + EVEX_W_0F10_P_3_M_{0,1}, EVEX_W_0F11_P_1_M_{0,1}, and + EVEX_W_0F11_P_3_M_{0,1} table entries. + +2019-07-01 Jan Beulich + + * i386-dis.c (EXdVex, EXdVexS, EXqVex, EXqVexS, XMVex): + Delete. + +2019-06-27 H.J. Lu + + PR binutils/24719 + * i386-dis-evex-len.h: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2, + EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2, + EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0, + EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0, + EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0, + EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and + EVEX_LEN_0F38C7_R_6_P_2_W_1. + * i386-dis-evex-prefix.h: Update PREFIX_EVEX_0F38C6_REG_1, + PREFIX_EVEX_0F38C6_REG_2, PREFIX_EVEX_0F38C6_REG_5 and + PREFIX_EVEX_0F38C6_REG_6 entries. + * i386-dis-evex-w.h: Update EVEX_W_0F38C7_R_1_P_2, + EVEX_W_0F38C7_R_2_P_2, EVEX_W_0F38C7_R_5_P_2 and + EVEX_W_0F38C7_R_6_P_2 entries. + * i386-dis.c: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2, + EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2, + EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0, + EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0, + EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0, + EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and + EVEX_LEN_0F38C7_R_6_P_2_W_1 enums. + +2019-06-27 Jan Beulich + + * i386-dis.c (VEX_LEN_0F2A_P_1, VEX_LEN_0F2A_P_3, + VEX_LEN_0F2C_P_1, VEX_LEN_0F2C_P_3, VEX_LEN_0F2D_P_1, + VEX_LEN_0F2D_P_3): Delete. + (vex_len_table): Move vcvtsi2ss, vcvtsi2sd, vcvttss2si, + vcvttsd2si, vcvtss2si, and vcvtsd2si leaf entries ... + (prefix_table): ... here. + +2019-06-27 Jan Beulich + + * i386-dis.c (Iq): Delete. + (Id): New. + (reg_table): Use it for lwpins, lwpval, and bextr. Use Edq for + TBM insns. + (vex_len_table): Use Edq for vcvtsi2ss, vcvtsi2sd. Use Gdq for + vcvttss2si, vcvttsd2si, vcvtss2si, and vcvtsd2si. + (OP_E_memory): Also honor needindex when deciding whether an + address size prefix needs printing. + (OP_I): Remove handling of q_mode. Add handling of d_mode. + +2019-06-26 Jim Wilson + + PR binutils/24739 + * riscv-dis.c (riscv_disasemble_insn): Set info->endian_code. + Set info->display_endian to info->endian_code. + +2019-06-25 Jan Beulich + + * i386-gen.c (operand_type_init): Correct OPERAND_TYPE_DEBUG + entry. Drop OPERAND_TYPE_ACC entry. Add OPERAND_TYPE_ACC8 and + OPERAND_TYPE_ACC16 entries. Adjust OPERAND_TYPE_ACC32 and + OPERAND_TYPE_ACC64 entries. + * i386-init.h: Re-generate. + +2019-06-25 Jan Beulich + + * i386-dis.c (Edqa, dqa_mode, EVEX_W_0F2A_P_1, EVEX_W_0F7B_P_1): + Delete. + (intel_operand_size, OP_E_register, OP_E_memory): Drop handling + of dqa_mode. + * i386-dis-evex-prefix.h: Move vcvtsi2ss and vcvtusi2ss leaf + entries here. + * i386-dis-evex-w.h: Drop EVEX_W_0F2A_P_1 and EVEX_W_0F7B_P_1 + entries. Use Edq for vcvtsi2sd and vcvtusi2sd. + +2019-06-25 Jan Beulich + + * i386-dis.c (OP_I64): Forword more cases to OP_I(). Drop local + variables. + +2019-06-25 Jan Beulich + + * i386-dis.c (prefix_table): Use Edq for cvtsi2ss and cvtsi2sd. + Use Gdq for cvttss2si, cvttsd2si, cvtss2si, and cvtsd2si, and + movnti. + * i386-opc.tbl (movnti): Add IgnoreSize. + * i386-tbl.h: Re-generate. + +2019-06-25 Jan Beulich + + * i386-opc.tbl (and): Mark Imm8S form for optimization. + * i386-tbl.h: Re-generate. + +2019-06-21 H.J. Lu + + * i386-dis-evex.h: Break into ... + * i386-dis-evex-len.h: New file. + * i386-dis-evex-mod.h: Likewise. + * i386-dis-evex-prefix.h: Likewise. + * i386-dis-evex-reg.h: Likewise. + * i386-dis-evex-w.h: Likewise. + * i386-dis.c: Include i386-dis-evex-reg.h, i386-dis-evex-prefix.h, + i386-dis-evex.h, i386-dis-evex-len.h, i386-dis-evex-w.h and + i386-dis-evex-mod.h. + +2019-06-19 H.J. Lu + + PR binutils/24700 + * i386-dis-evex.h (evex_table): Update EVEX_W_0F3819_P_2, + EVEX_W_0F381A_P_2, EVEX_W_0F381B_P_2, EVEX_W_0F385A_P_2 and + EVEX_W_0F385B_P_2. + (evex_len_table): Add EVEX_LEN_0F3819_P_2_W_0, + EVEX_LEN_0F3819_P_2_W_1, EVEX_LEN_0F381A_P_2_W_0, + EVEX_LEN_0F381A_P_2_W_1, EVEX_LEN_0F381B_P_2_W_0, + EVEX_LEN_0F381B_P_2_W_1, EVEX_LEN_0F385A_P_2_W_0, + EVEX_LEN_0F385A_P_2_W_1, EVEX_LEN_0F385B_P_2_W_0 and + EVEX_LEN_0F385B_P_2_W_1. + * i386-dis.c (EVEX_LEN_0F3819_P_2_W_0): New enum. + (EVEX_LEN_0F3819_P_2_W_1): Likewise. + (EVEX_LEN_0F381A_P_2_W_0): Likewise. + (EVEX_LEN_0F381A_P_2_W_1): Likewise. + (EVEX_LEN_0F381B_P_2_W_0): Likewise. + (EVEX_LEN_0F381B_P_2_W_1): Likewise. + (EVEX_LEN_0F385A_P_2_W_0): Likewise. + (EVEX_LEN_0F385A_P_2_W_1): Likewise. + (EVEX_LEN_0F385B_P_2_W_0): Likewise. + (EVEX_LEN_0F385B_P_2_W_1): Likewise. + +2019-06-17 H.J. Lu + + PR binutils/24691 + * i386-dis-evex.h (evex_table): Update EVEX_W_0F3A23_P_2, + EVEX_W_0F3A38_P_2, EVEX_W_0F3A39_P_2, EVEX_W_0F3A3A_P_2, + EVEX_W_0F3A3B_P_2 and EVEX_W_0F3A43_P_2. + (evex_len_table): Add EVEX_LEN_0F3A23_P_2_W_0, + EVEX_LEN_0F3A23_P_2_W_1, EVEX_LEN_0F3A38_P_2_W_0, + EVEX_LEN_0F3A38_P_2_W_1, EVEX_LEN_0F3A39_P_2_W_0, + EVEX_LEN_0F3A39_P_2_W_1, EVEX_LEN_0F3A3A_P_2_W_0, + EVEX_LEN_0F3A3A_P_2_W_1, EVEX_LEN_0F3A3B_P_2_W_0, + EVEX_LEN_0F3A3B_P_2_W_1, EVEX_LEN_0F3A43_P_2_W_0 and + EVEX_LEN_0F3A43_P_2_W_1. + * i386-dis.c (EVEX_LEN_0F3A23_P_2_W_0): New enum. + (EVEX_LEN_0F3A23_P_2_W_1): Likewise. + (EVEX_LEN_0F3A38_P_2_W_0): Likewise. + (EVEX_LEN_0F3A38_P_2_W_1): Likewise. + (EVEX_LEN_0F3A39_P_2_W_0): Likewise. + (EVEX_LEN_0F3A39_P_2_W_1): Likewise. + (EVEX_LEN_0F3A3A_P_2_W_0): Likewise. + (EVEX_LEN_0F3A3A_P_2_W_1): Likewise. + (EVEX_LEN_0F3A3B_P_2_W_0): Likewise. + (EVEX_LEN_0F3A3B_P_2_W_1): Likewise. + (EVEX_LEN_0F3A43_P_2_W_0): Likewise. + (EVEX_LEN_0F3A43_P_2_W_1): Likewise. + +2019-06-14 Nick Clifton + + * po/fr.po; Updated French translation. + +2019-06-13 Stafford Horne + + * or1k-asm.c: Regenerated. + * or1k-desc.c: Regenerated. + * or1k-desc.h: Regenerated. + * or1k-dis.c: Regenerated. + * or1k-ibld.c: Regenerated. + * or1k-opc.c: Regenerated. + * or1k-opc.h: Regenerated. + * or1k-opinst.c: Regenerated. + +2019-06-12 Peter Bergner + + * ppc-opc.c (powerpc_opcodes) : Delete mnemonic. + +2019-06-05 H.J. Lu + + PR binutils/24633 + * i386-dis-evex.h (evex_table): Update EVEX_W_0F3A18_P_2, + EVEX_W_0F3A19_P_2, EVEX_W_0F3A1A_P_2 and EVEX_W_0F3A1B_P_2. + (evex_len_table): EVEX_LEN_0F3A18_P_2_W_0, + EVEX_LEN_0F3A18_P_2_W_1, EVEX_LEN_0F3A19_P_2_W_0, + EVEX_LEN_0F3A19_P_2_W_1, EVEX_LEN_0F3A1A_P_2_W_0, + EVEX_LEN_0F3A1A_P_2_W_1, EVEX_LEN_0F3A1B_P_2_W_0, + EVEX_LEN_0F3A1B_P_2_W_1. + * i386-dis.c (EVEX_LEN_0F3A18_P_2_W_0): New enum. + (EVEX_LEN_0F3A18_P_2_W_1): Likewise. + (EVEX_LEN_0F3A19_P_2_W_0): Likewise. + (EVEX_LEN_0F3A19_P_2_W_1): Likewise. + (EVEX_LEN_0F3A1A_P_2_W_0): Likewise. + (EVEX_LEN_0F3A1A_P_2_W_1): Likewise. + (EVEX_LEN_0F3A1B_P_2_W_0): Likewise. + (EVEX_LEN_0F3A1B_P_2_W_1): Likewise. + +2019-06-04 H.J. Lu + + PR binutils/24626 + * i386-dis.c (print_insn): Check for unused VEX.vvvv and + EVEX.vvvv when disassembling VEX and EVEX instructions. + (OP_VEX): Set vex.register_specifier to 0 after readding + vex.register_specifier. + (OP_Vex_2src_1): Likewise. + (OP_Vex_2src_2): Likewise. + (OP_LWP_E): Likewise. + (OP_EX_Vex): Don't check vex.register_specifier. + (OP_XMM_Vex): Likewise. + +2019-06-04 Igor Tsimbalist + Lili Cui + + * i386-dis.c (enum): Add PREFIX_EVEX_0F3868, EVEX_W_0F3868_P_3. + * i386-dis-evex.h (evex_table): Add AVX512_VP2INTERSECT + instructions. + * i386-gen.c (cpu_flag_init): Add CPU_AVX512_VP2INTERSECT_FLAGS, + CPU_ANY_AVX512_VP2INTERSECT_FLAGS. + (cpu_flags): Add CpuAVX512_VP2INTERSECT. + * i386-opc.h (enum): Add CpuAVX512_VP2INTERSECT. + (i386_cpu_flags): Add cpuavx512_vp2intersect. + * i386-opc.tbl: Add AVX512_VP2INTERSECT insns. + * i386-init.h: Regenerated. + * i386-tbl.h: Likewise. + +2019-06-04 Xuepeng Guo + Lili Cui + + * doc/c-i386.texi: Document enqcmd. + * testsuite/gas/i386/enqcmd-intel.d: New file. + * testsuite/gas/i386/enqcmd-inval.l: Likewise. + * testsuite/gas/i386/enqcmd-inval.s: Likewise. + * testsuite/gas/i386/enqcmd.d: Likewise. + * testsuite/gas/i386/enqcmd.s: Likewise. + * testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise. + * testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise. + * testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise. + * testsuite/gas/i386/x86-64-enqcmd.d: Likewise. + * testsuite/gas/i386/x86-64-enqcmd.s: Likewise. + * testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval, + enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval, + and x86-64-enqcmd. + +2019-06-04 Alan Hayward + + * arm-dis.c (is_mve_unpredictable): Remove spurious paranthesis. + +2019-06-03 Alan Modra + + * ppc-dis.c (prefix_opcd_indices): Correct size. + +2019-05-28 H.J. Lu + + PR gas/24625 + * i386-opc.tbl: Add CheckRegSize to AVX512_BF16 instructions with + Disp8ShiftVL. + * i386-tbl.h: Regenerated. + +2019-05-24 Alan Modra + + * po/POTFILES.in: Regenerate. + +2019-05-24 Peter Bergner + Alan Modra + + * ppc-opc.c (insert_d34, extract_d34, insert_nsi34, extract_nsi34), + (insert_pcrel, extract_pcrel, extract_pcrel0): New functions. + (extract_esync, extract_raq, extract_tbr, extract_sxl): Comment. + (powerpc_operands ): Define and add entries. + (P8LS, PMLS, P_D_MASK, P_DRAPCREL_MASK): Define. + (prefix_opcodes): Add pli, paddi, pla, psubi, plwz, plbz, pstw, + pstb, plhz, plha, psth, plfs, plfd, pstfs, pstfd, plq, plxsd, + plxssp, pld, plwa, pstxsd, pstxssp, pstxv, pstd, and pstq. + +2019-05-24 Peter Bergner + Alan Modra + + * ppc-dis.c (ppc_opts): Add "future" entry. + (PREFIX_OPCD_SEGS): Define. + (prefix_opcd_indices): New array. + (disassemble_init_powerpc): Initialize prefix_opcd_indices. + (lookup_prefix): New function. + (print_insn_powerpc): Handle 64-bit prefix instructions. + * ppc-opc.c (PREFIX_OP, PREFIX_FORM, SUFFIX_MASK, PREFIX_MASK), + (PMRR, POWERXX): Define. + (prefix_opcodes): New instruction table. + (prefix_num_opcodes): New constant. + +2019-05-23 Jose E. Marchesi + + * configure.ac (SHARED_DEPENDENCIES): Add case for bfd_bpf_arch. + * configure: Regenerated. + * Makefile.am: Add rules for the files generated from cpu/bpf.cpu + and cpu/bpf.opc. + (HFILES): Add bpf-desc.h and bpf-opc.h. + (TARGET_LIBOPCODES_CFILES): Add bpf-asm.c, bpf-desc.c, bpf-dis.c, + bpf-ibld.c and bpf-opc.c. + (BPF_DEPS): Define. + * Makefile.in: Regenerated. + * disassemble.c (ARCH_bpf): Define. + (disassembler): Add case for bfd_arch_bpf. + (disassemble_init_for_target): Likewise. + (enum epbf_isa_attr): Define. + * disassemble.h: extern print_insn_bpf. + * bpf-asm.c: Generated. + * bpf-opc.h: Likewise. + * bpf-opc.c: Likewise. + * bpf-ibld.c: Likewise. + * bpf-dis.c: Likewise. + * bpf-desc.h: Likewise. + * bpf-desc.c: Likewise. + +2019-05-21 Sudakshina Das + + * arm-dis.c (coprocessor_opcodes): New instructions for VMRS + and VMSR with the new operands. + +2019-05-21 Sudakshina Das + + * arm-dis.c (enum mve_instructions): New enum + for csinc, csinv, csneg, csel, cset, csetm, cinv, cinv + and cneg. + (mve_opcodes): New instructions as above. + (is_mve_encoding_conflict): Add cases for csinc, csinv, + csneg and csel. + (print_insn_mve): Accept new %c and %C. + +2019-05-21 Sudakshina Das + + * arm-dis.c (emun mve_instructions): Updated for new instructions. + (mve_opcodes): New instructions for asrl, lsll, lsrl, sqrshrl, + sqrshr, sqshl, sqshll, srshr, srshrl, uqrshll, uqrshl, uqshll, + uqshl, urshrl and urshr. + (is_mve_okay_in_it): Add new instructions to TRUE list. + (is_mve_unpredictable): Add cases for UNPRED_R13 and UNPRED_R15. + (print_insn_mve): Updated to accept new %j, + %m and %n patterns. + +2019-05-21 Faraz Shahbazker + + * mips-opc.c (mips_builtin_opcodes): Change source register + constraint for DAUI. + +2019-05-20 Nick Clifton + + * po/fr.po: Updated French translation. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (thumb32_opcodes): Add new instructions. + (enum mve_instructions): Likewise. + (enum mve_undefined): Add new reasons. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_undefined): Likewise. + (print_mve_size): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (thumb32_opcodes): Add new instructions. + (enum mve_instructions): Likewise. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_size): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (thumb32_opcodes): Add new instructions. + (enum mve_instructions): Likewise. + (is_mve_encoding_conflict): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_size): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (thumb32_opcodes): Add new instructions. + (enum mve_instructions): Likewise. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_size): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (thumb32_opcodes): Add new instructions. + (enum mve_instructions): Likewise. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_size): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (thumb32_opcodes): Add new instructions. + (print_insn_thumb32): Handle new instructions. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_undefined): Add new reasons. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_undefined): Likewise. + (print_mve_size): Likewise. + (print_mve_shift_n): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_unpredictable): Likewise. + (print_mve_rotate): Likewise. + (print_mve_size): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_unpredictable): Likewise. + (print_mve_size): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_undefined): Add new reasons. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_undefined): Likewise. + (print_mve_size): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_size): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_unpredictable): Add new reasons. + (enum mve_undefined): Likewise. + (is_mve_okay_in_it): Handle new isntructions. + (is_mve_encoding_conflict): Likewise. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_vmov_index): Likewise. + (print_simd_imm8): Likewise. + (print_mve_undefined): Likewise. + (print_mve_unpredictable): Likewise. + (print_mve_size): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_unpredictable): Add new reasons. + (enum mve_undefined): Likewise. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_undefined): Likewise. + (print_mve_unpredictable): Likewise. + (print_mve_rounding_mode): Likewise. + (print_mve_vcvt_size): Likewise. + (print_mve_size): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_unpredictable): Add new reasons. + (enum mve_undefined): Likewise. + (is_mve_undefined): Handle new instructions. + (is_mve_unpredictable): Likewise. + (print_mve_undefined): Likewise. + (print_mve_unpredictable): Likewise. + (print_mve_size): Likewise. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_undefined): Add new reasons. + (insns): Add new instructions. + (is_mve_encoding_conflict): + (print_mve_vld_str_addr): New print function. + (is_mve_undefined): Handle new instructions. + (is_mve_unpredictable): Likewise. + (print_mve_undefined): Likewise. + (print_mve_size): Likewise. + (print_insn_coprocessor_1): Handle MVE VLDR, VSTR instructions. + (print_insn_mve): Handle new operands. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_unpredictable): Add new reasons. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_unpredictable): Likewise. + (mve_opcodes): Add new instructions. + (print_mve_unpredictable): Handle new reasons. + (print_mve_register_blocks): New print function. + (print_mve_size): Handle new instructions. + (print_insn_mve): Likewise. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_unpredictable): Add new reasons. + (enum mve_undefined): Likewise. + (is_mve_encoding_conflict): Handle new instructions. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (coprocessor_opcodes): Move NEON VDUP from here... + (neon_opcodes): ... to here. + (mve_opcodes): Add new instructions. + (print_mve_undefined): Handle new reasons. + (print_mve_unpredictable): Likewise. + (print_mve_size): Handle new instructions. + (print_insn_neon): Handle vdup. + (print_insn_mve): Handle new operands. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): Add new instructions. + (enum mve_unpredictable): Add new values. + (mve_opcodes): Add new instructions. + (vec_condnames): New array with vector conditions. + (mve_predicatenames): New array with predicate suffixes. + (mve_vec_sizename): New array with vector sizes. + (enum vpt_pred_state): New enum with vector predication states. + (struct vpt_block): New struct type for vpt blocks. + (vpt_block_state): Global struct to keep track of state. + (mve_extract_pred_mask): New helper function. + (num_instructions_vpt_block): Likewise. + (mark_outside_vpt_block): Likewise. + (mark_inside_vpt_block): Likewise. + (invert_next_predicate_state): Likewise. + (update_next_predicate_state): Likewise. + (update_vpt_block_state): Likewise. + (is_vpt_instruction): Likewise. + (is_mve_encoding_conflict): Add entries for new instructions. + (is_mve_unpredictable): Likewise. + (print_mve_unpredictable): Handle new cases. + (print_instruction_predicate): Likewise. + (print_mve_size): New function. + (print_vec_condition): New function. + (print_insn_mve): Handle vpt blocks and new print operands. + +2019-05-16 Andre Vieira + + * arm-dis.c (print_insn_coprocessor_1): Disable the use of coprocessors + 8, 14 and 15 for Armv8.1-M Mainline. + +2019-05-16 Andre Vieira + Michael Collison + + * arm-dis.c (enum mve_instructions): New enum. + (enum mve_unpredictable): Likewise. + (enum mve_undefined): Likewise. + (struct mopcode32): New struct. + (is_mve_okay_in_it): New function. + (is_mve_architecture): Likewise. + (arm_decode_field): Likewise. + (arm_decode_field_multiple): Likewise. + (is_mve_encoding_conflict): Likewise. + (is_mve_undefined): Likewise. + (is_mve_unpredictable): Likewise. + (print_mve_undefined): Likewise. + (print_mve_unpredictable): Likewise. + (print_insn_coprocessor_1): Use arm_decode_field_multiple. + (print_insn_mve): New function. + (print_insn_thumb32): Handle MVE architecture. + (select_arm_features): Force thumb for Armv8.1-m Mainline. + +2019-05-10 Nick Clifton + + PR 24538 + * ia64-opc.c (ia64_find_matching_opcode): Check for reaching the + end of the table prematurely. + +2019-05-10 Faraz Shahbazker + + * mips-opc.c (mips_opcodes): Enable ADD, SUB, DADD and DSUB + macros for R6. + +2019-05-11 Alan Modra + + * ppc-dis.c (print_insn_powerpc) Don't skip optional operands + when -Mraw is in effect. + +2019-05-09 Matthew Malcomson + + * aarch64-dis-2.c: Regenerate. + * aarch64-tbl.h (OP_SVE_BBU): New variant set. + (OP_SVE_BBB): New variant set. + (OP_SVE_DDDD): New variant set. + (OP_SVE_HHH): New variant set. + (OP_SVE_HHHU): New variant set. + (OP_SVE_SSS): New variant set. + (OP_SVE_SSSU): New variant set. + (OP_SVE_SHH): New variant set. + (OP_SVE_SBBU): New variant set. + (OP_SVE_DSS): New variant set. + (OP_SVE_DHHU): New variant set. + (OP_SVE_VMV_HSD_BHS): New variant set. + (OP_SVE_VVU_HSD_BHS): New variant set. + (OP_SVE_VVVU_SD_BH): New variant set. + (OP_SVE_VVVU_BHSD): New variant set. + (OP_SVE_VVV_QHD_DBS): New variant set. + (OP_SVE_VVV_HSD_BHS): New variant set. + (OP_SVE_VVV_HSD_BHS2): New variant set. + (OP_SVE_VVV_BHS_HSD): New variant set. + (OP_SVE_VV_BHS_HSD): New variant set. + (OP_SVE_VVV_SD): New variant set. + (OP_SVE_VVU_BHS_HSD): New variant set. + (OP_SVE_VZVV_SD): New variant set. + (OP_SVE_VZVV_BH): New variant set. + (OP_SVE_VZV_SD): New variant set. + (aarch64_opcode_table): Add sve2 instructions. + +2019-05-09 Matthew Malcomson + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking + for SVE_SHLIMM_UNPRED_22. + (aarch64_print_operand): Add printing for SVE_SHLIMM_UNPRED_22. + * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHLIMM_UNPRED_22 + operand. + +2019-05-09 Matthew Malcomson + + * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle + sve_size_tsz_bhs iclass encode. + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle + sve_size_tsz_bhs iclass decode. + +2019-05-09 Matthew Malcomson + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking + for SVE_Zm4_11_INDEX. + (aarch64_print_operand): Add printing for SVE_Zm4_11_INDEX. + (fields): Handle SVE_i2h field. + * aarch64-opc.h (enum aarch64_field_kind): New SVE_i2h field. + * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm4_11_INDEX operand. + +2019-05-09 Matthew Malcomson + + * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle + sve_shift_tsz_bhsd iclass encode. + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle + sve_shift_tsz_bhsd iclass decode. + +2019-05-09 Matthew Malcomson + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + * aarch64-asm.c (aarch64_ins_sve_shrimm): + (aarch64_encode_variant_using_iclass): Handle + sve_shift_tsz_hsd iclass encode. + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle + sve_shift_tsz_hsd iclass decode. + * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking + for SVE_SHRIMM_UNPRED_22. + (aarch64_print_operand): Add printing for SVE_SHRIMM_UNPRED_22. + * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHRIMM_UNPRED_22 + operand. + +2019-05-09 Matthew Malcomson + + * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle + sve_size_013 iclass encode. + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle + sve_size_013 iclass decode. + +2019-05-09 Matthew Malcomson + + * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle + sve_size_bh iclass encode. + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle + sve_size_bh iclass decode. + +2019-05-09 Matthew Malcomson + + * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle + sve_size_sd2 iclass encode. + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle + sve_size_sd2 iclass decode. + * aarch64-opc.c (fields): Handle SVE_sz2 field. + * aarch64-opc.h (enum aarch64_field_kind): New SVE_sz2 field. + +2019-05-09 Matthew Malcomson + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking + for SVE_ADDR_ZX. + (aarch64_print_operand): Add printing for SVE_ADDR_ZX. + * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_ADDR_ZX operand. + +2019-05-09 Matthew Malcomson + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking + for SVE_Zm3_11_INDEX. + (aarch64_print_operand): Add printing for SVE_Zm3_11_INDEX. + (fields): Handle SVE_i3l and SVE_i3h2 fields. + * aarch64-opc.h (enum aarch64_field_kind): New SVE_i3l and SVE_i3h2 + fields. + * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm3_11_INDEX operand. + +2019-05-09 Matthew Malcomson + + * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle + sve_size_hsd2 iclass encode. + * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle + sve_size_hsd2 iclass decode. + * aarch64-opc.c (fields): Handle SVE_size field. + * aarch64-opc.h (enum aarch64_field_kind): New SVE_size field. + +2019-05-09 Matthew Malcomson + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking + for SVE_IMM_ROT3. + (aarch64_print_operand): Add printing for SVE_IMM_ROT3. + (fields): Handle SVE_rot3 field. + * aarch64-opc.h (enum aarch64_field_kind): New SVE_rot3 field. + * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_IMM_ROT3 operand. + +2019-05-09 Matthew Malcomson + + * aarch64-opc.c (verify_constraints): Check for movprfx for sve2 + instructions. + +2019-05-09 Matthew Malcomson + + * aarch64-tbl.h + (aarch64_feature_sve2, aarch64_feature_sve2aes, + aarch64_feature_sve2sha3, aarch64_feature_sve2sm4, + aarch64_feature_sve2bitperm): New feature sets. + (SVE2, SVE2_AES, SVE2_SHA3, SVE2_SM4, SVE2_BITPERM): New macros + for feature set addresses. + (SVE2_INSN, SVE2_INSNC, SVE2AES_INSN, SVE2SHA3_INSN, + SVE2SM4_INSN, SVE2SM4_INSNC, SVE2BITPERM_INSN): New macros. + +2019-05-06 Andrew Bennett + Faraz Shahbazker + + * mips-dis.c (mips_calculate_combination_ases): Add ISA + argument and set ASE_EVA_R6 appropriately. + (set_default_mips_dis_options): Pass ISA to above. + (parse_mips_dis_option): Likewise. + * mips-opc.c (EVAR6): New macro. + (mips_builtin_opcodes): Add llwpe, scwpe. + +2019-05-01 Sudakshina Das + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + * aarch64-opc.c (operand_general_constraint_met_p): Add case for + AARCH64_OPND_TME_UIMM16. + (aarch64_print_operand): Likewise. + * aarch64-tbl.h (QL_IMM_NIL): New. + (TME): New. + (_TME_INSN): New. + (struct aarch64_opcode): Add tstart, tcommit, ttest and tcancel. + +2019-04-29 John Darrington + + * s12z-opc.c (shift_discrim): Return OP_INVALID when reading fails. + +2019-04-26 Andrew Bennett + Faraz Shahbazker + + * mips-opc.c (mips_builtin_opcodes): Add llwp, lldp, scwp, scdp. + +2019-04-24 John Darrington + + * s12z-opc.h: Add extern "C" bracketing to help + users who wish to use this interface in c++ code. + +2019-04-24 John Darrington + + * s12z-opc.c (bm_decode): Handle bit map operations with the + "reserved0" mode. + +2019-04-15 Thomas Preud'homme + + * arm-dis.c (coprocessor_opcodes): Document new %J and %K format + specifier. Add entries for VLDR and VSTR of system registers. + (print_insn_coprocessor): Forbid coprocessor numbers 8, 14 and 15 in + coprocessor instructions on Armv8.1-M Mainline targets. Add handling + of %J and %K format specifier. + +2019-04-15 Thomas Preud'homme + + * arm-dis.c (coprocessor_opcodes): Document new %C format control code. + Add new entries for VSCCLRM instruction. + (print_insn_coprocessor): Handle new %C format control code. + +2019-04-15 Thomas Preud'homme + + * arm-dis.c (enum isa): New enum. + (struct sopcode32): New structure. + (coprocessor_opcodes): change type of entries to struct sopcode32 and + set isa field of all current entries to ANY. + (print_insn_coprocessor): Change type of insn to struct sopcode32. + Only match an entry if its isa field allows the current mode. + +2019-04-15 Thomas Preud'homme + + * arm-dis.c (thumb_opcodes): Document %n control code. Add entry for + CLRM. + (print_insn_thumb32): Add logic to print %n CLRM register list. + +2019-04-15 Sudakshina Das + + * arm-dis.c (print_insn_thumb32): Updated to accept new %P + and %Q patterns. + +2019-04-15 Sudakshina Das + + * arm-dis.c (thumb32_opcodes): New instruction bfcsel. + (print_insn_thumb32): Edit the switch case for %Z. + +2019-04-15 Sudakshina Das + + * arm-dis.c (print_insn_thumb32): Updated to accept new %Z pattern. + +2019-04-15 Sudakshina Das + + * arm-dis.c (thumb32_opcodes): New instruction bfl. + +2019-04-15 Sudakshina Das + + * arm-dis.c (print_insn_thumb32): Updated to accept new %Y pattern. + +2019-04-15 Sudakshina Das + + * arm-dis.c (print_insn_thumb32): Add '%S' to print an + Arm register with r13 and r15 unpredictable. + (thumb32_opcodes): New instructions for bfx and bflx. + +2019-04-15 Sudakshina Das + + * arm-dis.c (thumb32_opcodes): New instructions for bf. + +2019-04-15 Sudakshina Das + + * arm-dis.c (print_insn_thumb32): Updated to accept new %W pattern. + +2019-04-15 Sudakshina Das + + * arm-dis.c (print_insn_thumb32): Updated to accept new %G pattern. + +2019-04-15 Thomas Preud'homme + + * arm-dis.c (select_arm_features): Add logic for Armv8.1-M Mainline. + +2019-04-12 John Darrington + + s12z-dis.c, s12z-opc.c, s12z-opc.h: Replace "operator" with + "optr". ("operator" is a reserved word in c++). + +2019-04-11 Sudakshina Das + + * aarch64-opc.c (aarch64_print_operand): Add case for + AARCH64_OPND_Rt_SP. + (verify_constraints): Likewise. + * aarch64-tbl.h (QL_LDST_AT): Update to add SP qualifier. + (struct aarch64_opcode): Update stg, stzg, st2g, stz2g instructions + to accept Rt|SP as first operand. + (AARCH64_OPERANDS): Add new Rt_SP. + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + +2019-04-11 Sudakshina Das + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Likewise. + * aarch64-opc-2.c: Likewise. + * aarch64-tbl.h (aarch64_opcode): Add new ldgm and stgm. + +2019-04-09 Robert Suchanek + + * mips-opc.c (mips_builtin_opcodes): Add RDHWR rt rd sel. + +2019-04-08 H.J. Lu + + * i386-opc.tbl: Consolidate AVX512 BF16 entries. + * i386-init.h: Regenerated. + +2019-04-07 Alan Modra + + * ppc-dis.c (print_insn_powerpc): Use a tiny state machine + op_separator to control printing of spaces, comma and parens + rather than need_comma, need_paren and spaces vars. + +2019-04-07 Alan Modra + + PR 24421 + * arm-dis.c (print_insn_coprocessor): Correct bracket placement. + (print_insn_neon, print_insn_arm): Likewise. + +2019-04-05 Xuepeng Guo + + * i386-dis-evex.h (evex_table): Updated to support BF16 + instructions. + * i386-dis.c (enum): Add EVEX_W_0F3852_P_1, EVEX_W_0F3872_P_1 + and EVEX_W_0F3872_P_3. + * i386-gen.c (cpu_flag_init): Add CPU_AVX512_BF16_FLAGS. + (cpu_flags): Add bitfield for CpuAVX512_BF16. + * i386-opc.h (enum): Add CpuAVX512_BF16. + (i386_cpu_flags): Add bitfield for cpuavx512_bf16. + * i386-opc.tbl: Add AVX512 BF16 instructions. + * i386-init.h: Regenerated. + * i386-tbl.h: Likewise. + +2019-04-05 Alan Modra + + * ppc-opc.c (XLBH_MASK): Subtract off BH field from BB_MASK. + (powerpc_opcodes): Reorder bcctr and bclr extended mnemonics + to favour printing of "-" branch hint when using the "y" bit. + Allow BH field on bc{ctr,lr,tar}{,l}{-,+}. + +2019-04-05 Alan Modra + + * ppc-dis.c (print_insn_powerpc): Delay printing spaces after + opcode until first operand is output. + +2019-04-04 Peter Bergner + + PR gas/24349 + * ppc-opc.c (valid_bo_pre_v2): Add comments. + (valid_bo_post_v2): Add support for 'at' branch hints. + (insert_bo): Only error on branch on ctr. + (get_bo_hint_mask): New function. + (insert_boe): Add new 'branch_taken' formal argument. Add support + for inserting 'at' branch hints. + (extract_boe): Add new 'branch_taken' formal argument. Add support + for extracting 'at' branch hints. + (insert_bom, extract_bom, insert_bop, extract_bop): New functions. + (BOE): Delete operand. + (BOM, BOP): New operands. + (RM): Update value. + (XLYLK, XLYLK_MASK, XLYBB_MASK): Delete. + (powerpc_opcodes) : Replace BOE with BOM. + (powerpc_opcodes) : Replace BOE with BOP. + : New extended mnemonics. + +2019-03-28 Alan Modra + + PR 24390 + * ppc-opc.c (BTF): Define. + (powerpc_opcodes): Use for mtfsb*. + * ppc-dis.c (print_insn_powerpc): Print fields with both + PPC_OPERAND_CR_REG and PPC_OPERAND_CR_BIT as a plain number. + +2019-03-25 Tamar Christina + + * arm-dis.c (struct arm_private_data): Remove has_mapping_symbols. + (mapping_symbol_for_insn): Implement new algorithm. + (print_insn): Remove duplicate code. + +2019-03-25 Tamar Christina + + * aarch64-dis.c (print_insn_aarch64): + Implement override. + +2019-03-25 Tamar Christina + + * aarch64-dis.c (print_insn_aarch64): Update the mapping symbol search + order. + +2019-03-25 Tamar Christina + + * aarch64-dis.c (last_stop_offset): New. + (print_insn_aarch64): Use stop_offset. + +2019-03-19 H.J. Lu + + PR gas/24359 + * i386-gen.c (cpu_flag_init): Add CPU_ANY_AVX512F_FLAGS to + CPU_ANY_AVX2_FLAGS. + * i386-init.h: Regenerated. + +2019-03-18 H.J. Lu + + PR gas/24348 + * i386-opc.tbl: Add Optimize to vmovdqa32, vmovdqa64, vmovdqu8, + vmovdqu16, vmovdqu32 and vmovdqu64. + * i386-tbl.h: Regenerated. + +2019-03-12 Andreas Krebbel + + * s390-opc.txt: Rename selhhhr to selfhr. Remove optional operand + from vstrszb, vstrszh, and vstrszf. + +2019-03-12 Andreas Krebbel + + * s390-opc.txt: Add instruction descriptions. + +2019-02-08 Jim Wilson + + * riscv-opc.c (riscv_opcodes) : Use Cz to compress 3 operand form. + : Likewise. + +2019-02-07 Tamar Christina + + * arm-dis.c (arm_opcodes): Redefine hlt to armv1. + +2019-02-07 Tamar Christina + + PR binutils/23212 + * aarch64-opc.h (enum aarch64_field_kind): Add FLD_sz. + * aarch64-opc.c (verify_elem_sd): New. + (fields): Add FLD_sz entr. + * aarch64-tbl.h (_SIMD_INSN): New. + (aarch64_opcode_table): Add elem_sd verifier to fmla, fmls, fmul and + fmulx scalar and vector by element isns. + +2019-02-07 Nick Clifton + + * po/sv.po: Updated Swedish translation. + +2019-01-31 Andreas Krebbel + + * s390-mkopc.c (main): Accept arch13 as cpu string. + * s390-opc.c: Add new instruction formats and instruction opcode + masks. + * s390-opc.txt: Add new arch13 instructions. + +2019-01-25 Sudakshina Das + + * aarch64-tbl.h (QL_LDST_AT): Update macro. + (aarch64_opcode): Change encoding for stg, stzg + st2g and st2zg. + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + +2019-01-25 Sudakshina Das + + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Likewise. + * aarch64-opc-2.c: Likewise. + * aarch64-tbl.h (aarch64_opcode): Add new stzgm. + +2019-01-25 Sudakshina Das + Ramana Radhakrishnan + + * aarch64-asm.c (aarch64_ins_addr_simple_2): Remove. + * aarch64-asm.h (ins_addr_simple_2): Likeiwse. + * aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise. + * aarch64-dis.h (ext_addr_simple_2): Likewise. + * aarch64-opc.c (operand_general_constraint_met_p): Remove + case for ldstgv_indexed. + (aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2. + * aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv. + (AARCH64_OPERANDS): Remove ADDR_SIMPLE_2. + * aarch64-asm-2.c: Regenerated. + * aarch64-dis-2.c: Regenerated. + * aarch64-opc-2.c: Regenerated. + +2019-01-23 Nick Clifton + + * po/pt_BR.po: Updated Brazilian Portuguese translation. + +2019-01-21 Nick Clifton + + * po/de.po: Updated German translation. + * po/uk.po: Updated Ukranian translation. + +2019-01-20 Chenghua Xu + * mips-dis.c (mips_arch_choices): Fix typo in + gs464, gs464e and gs264e descriptors. + +2019-01-19 Nick Clifton + + * configure: Regenerate. + * po/opcodes.pot: Regenerate. + +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-09 John Darrington + + * s12z-dis.c (print_insn_s12z): Do not dereference an operand + if it is null. + -dis.c (opr_emit_disassembly): Do not omit an index if it is + zero. + +2019-01-09 Andrew Paprocki + + * configure: Regenerate. + +2019-01-07 Alan Modra + + * configure: Regenerate. + * po/POTFILES.in: Regenerate. + +2019-01-03 John Darrington + + * s12z-opc.c: New file. + * s12z-opc.h: New file. + * s12z-dis.c: Removed all code not directly related to display + of instructions. Used the interface provided by the new files + instead. + * Makefile.am (TARGET_LIBOPCODES_CFILES) Add s12z-opc.c. + * Makefile.in: Regenerate. + * configure.ac (bfd_s12z_arch): Correct the dependencies. + * configure: Regenerate. + +2019-01-01 Alan Modra + + Update year range in copyright notice of all files. + +For older changes see ChangeLog-2018 + +Copyright (C) 2019 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: