X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gas%2FChangeLog;h=dafb420b7e970ad5f688571cb46cf622e096b2d3;hb=a302e574182dc12e95850dec078dac93701f1bde;hp=6af144fc486fbae8bfb7ee5d100653a900617c1a;hpb=1889da7048b310151d142b100678b6bd6053b548;p=binutils-gdb.git diff --git a/gas/ChangeLog b/gas/ChangeLog index 6af144fc486..dafb420b7e9 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,746 @@ +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 @@ -6,7 +749,7 @@ (tc_gen_reloc): Likewise. 2019-04-15 Sudakshina Das - Andre Vieira + Andre Vieira * config/tc-arm.c (T16_32_TAB): New entrie for bfl. (do_t_v8_1_branch): New switch case for bfl. @@ -38,7 +781,7 @@ * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New 2019-04-15 Sudakshina Das - Andre Vieira + Andre Vieira * config/tc-arm.c (T16_32_TAB): New entries for bf. (do_t_branch_future): New. @@ -114,11 +857,11 @@ * 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 @@ -746,7 +1489,7 @@ 2019-01-31 John Darrington - * config/tc-s12z.c (lex_imm): Add new argument exp_o. + * 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. @@ -999,7 +1742,7 @@ 2019-01-09 John Darrington - * testsuite/gas/s12z/jsr.s: New case. + * testsuite/gas/s12z/jsr.s: New case. * testsuite/gas/s12z/jsr.d: New case. 2019-01-09 Andrew Paprocki