Give Palmer co-credit for last patch.
[deliverable/binutils-gdb.git] / gas / ChangeLog
index 18566995ddc714eaa3b1bb8df1e6649bbdbb6b9d..ab979a31edbf43461baea28403a6c187832a1e69 100644 (file)
@@ -1,3 +1,300 @@
+2017-11-29  Jim Wilson  <jimw@sifive.com>
+           Palmer Dabbelt  <palmer@sifive.com>
+
+       * config/tc-riscv.c (riscv_frag_align_code): New local insn_alignment.
+       Early return if bytes less than or equal to insn_alignment.
+       * testsuite/gas/riscv/align-1.l: New.
+       * testsuite/gas/riscv/align-1.s: New.
+       * testsuite/gas/riscv/riscv.exp: Use run_dump_tests.  Use run_list_test
+       for align-1.
+
+       PR gas/22464
+       * doc/c-i386.texi (-n): Clarify docs.
+
+2017-11-29  Renlin Li  <renlin.li@arm.com>
+
+       * config/tc-aarch64.c (reg_names): Fix IP1 register alias typo.
+       * testsuite/gas/aarch64/register_aliases.s: Add IP0 and IP1 tests.
+       * testsuite/gas/aarch64/register_aliases.d: Update.
+
+2017-11-29  Stefan Stroe  <stroestefan@gmail.com>
+
+       * po/Make-in (datadir): Define as @datadir@.
+       (localedir): Define as @localedir@.
+       (gnulocaledir, gettextsrcdir): Use @datarootdir@.
+
+2017-11-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 22492
+       * config/obj-elf.c (obj_elf_version): Use record_alignment rather
+       than bfd_set_section_alignment.
+
+2017-11-27  Andrew Waterman <andrew@sifive.com>
+           Palmer Dabbelt  <palmer@sifive.com>
+           Jim Wilson  <jimw@sifive.com>
+
+       * config/tc-riscv.c (riscv_handle_implicit_zero_offset): New.
+       (riscv_ip): Cases 'k', 'l', 'm', 'n', 'M', 'N', add call to
+       riscv_handle_implicit_zero_offset.  At label load_store, replace
+       existing code with call to riscv_handle_implicit_zero_offset.
+       * testsuite/gas/riscv/c-ld.d, testsuite/gas/riscv/c-ld.s: New.
+       * testsuite/gas/riscv/c-lw.d, testsuite/gas/riscv/c-lw.s: New.
+       * testsuite/gas/riscv/riscv.exp: Run new tests.
+
+2017-11-27  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/tc-xtensa.c (find_trampoline_seg): Add static variable
+       that caches the result of the most recent search.
+
+2017-11-27  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/tc-xtensa.c (trampoline_chain_entry, trampoline_chain)
+       (trampoline_chain_index): New structures.
+       (trampoline_index): Add chain_index field.
+       (xg_order_trampoline_chain_entry, xg_sort_trampoline_chain)
+       (xg_find_chain_entry, xg_get_best_chain_entry)
+       (xg_order_trampoline_chain, xg_get_trampoline_chain)
+       (xg_find_best_eq_target, xg_add_location_to_chain)
+       (xg_create_trampoline_chain, xg_get_single_symbol_slot): New
+       functions.
+       (xg_relax_fixups): Call xg_find_best_eq_target to adjust jump
+       target to point to an existing jump. Call
+       xg_create_trampoline_chain to create new jump target. Call
+       xg_add_location_to_chain to add newly created trampoline jump
+       to the corresponding chain.
+       (add_jump_to_trampoline): Extract loop searching for a single
+       slot with a symbol into a separate function, replace that code
+       with a call to that function.
+       (relax_frag_immed): Call xg_find_best_eq_target to adjust jump
+       target to point to an existing jump.
+       * testsuite/gas/xtensa/all.exp: Add trampoline-2 test.
+       * testsuite/gas/xtensa/trampoline.d: Adjust absolute addresses
+       as many duplicate trampoline chains are now coalesced.
+       * testsuite/gas/xtensa/trampoline.s: Add _nop so that objdump
+       stays in sync with instruction stream.
+       * testsuite/gas/xtensa/trampoline-2.l: New test result file.
+       * testsuite/gas/xtensa/trampoline-2.s: New test source file.
+
+2017-11-27  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/tc-xtensa.c (search_trampolines, get_best_trampoline):
+       Remove definitions.
+       (xg_find_best_trampoline_for_tinsn): New function.
+       (relax_frag_immed): Replace call to get_best_trampoline with a
+       call to xg_find_best_trampoline_for_tinsn.
+       * testsuite/gas/xtensa/trampoline.d: Adjust absolute addresses
+       as the placement of trampolines for relaxed branches has been
+       changed.
+
+2017-11-27  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/tc-xtensa.c (trampoline_index): New structure.
+       (trampoline_seg): Replace trampoline list with trampoline index.
+       (xg_find_trampoline, xg_add_trampoline_to_index)
+       (xg_remove_trampoline_from_index, xg_add_trampoline_to_seg)
+       (xg_is_trampoline_frag_full, xg_get_fulcrum)
+       (xg_find_best_trampoline, xg_relax_fixup, xg_relax_fixups)
+       (xg_is_relaxable_fixup): New functions.
+       (J_MARGIN): New macro.
+       (xtensa_create_trampoline_frag): Use xg_add_trampoline_to_seg
+       instead of open-coded addition to the linked list.
+       (dump_trampolines): Iterate through the trampoline_seg::index.
+       (cached_fixupS, cached_fixup, fixup_cacheS, fixup_cache)
+       (fixup_order, xtensa_make_cached_fixup)
+       (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups)
+       (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup)
+       (xtensa_add_cached_fixup, check_and_update_trampolines): Remove
+       definitions.
+       (xg_relax_trampoline): Extract logic into separate functions,
+       replace body with a call to xg_relax_fixups.
+       (search_trampolines): Replace search in linked list with search
+       in index. Change data type of address-tracking variables from
+       int to offsetT. Replace abs with labs.
+       (xg_append_jump): Finish the trampoline frag if it's full.
+       (add_jump_to_trampoline): Remove trampoline frag from the index
+       if the frag is full.
+       * config/tc-xtensa.h (xtensa_frag_type): Remove next_trampoline.
+       * testsuite/gas/xtensa/trampoline.d: Adjust absolute addresses
+       as the placement of trampolines has slightly changed.
+       * testsuite/gas/xtensa/trampoline.s: Add _nop so that objdump
+       stays in sync with instruction stream.
+
+2017-11-27  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/tc-xtensa.c (init_trampoline_frag): Replace pointer to
+       struct trampoline_frag parameter with pointer to fragS.
+       (xg_append_jump): Remove jump_around parameter.
+       (struct trampoline_frag): Remove.
+       (struct trampoline_seg): Change type of trampoline_list from
+       struct trampoline_frag to fragS.
+       (xtensa_create_trampoline_frag): Don't allocate struct
+       trampoline_frag. Initialize new fragS::tc_frag_data fields.
+       (dump_trampolines, xg_relax_trampoline, search_trampolines)
+       (get_best_trampoline, init_trampoline_frag)
+       (add_jump_to_trampoline, relax_frag_immed): Replace pointer to
+       struct trampoline_frag with a pointer to fragS.
+       (xg_append_jump): Remove jump_around parameter, use
+       fragS::tc_frag_data.jump_around_fix instead.
+       (xg_relax_trampoline, init_trampoline_frag)
+       (add_jump_to_trampoline): Don't pass jump_around parameter to
+       xg_append_jump.
+       * config/tc-xtensa.h (struct xtensa_frag_type): Add new fields:
+       needs_jump_around, next_trampoline and jump_around_fix.
+
+2017-11-27  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/tc-xtensa.c (find_trampoline_seg): Move above the first
+       use.
+       (xtensa_create_trampoline_frag): Replace trampoline seg search
+       code with a call to find_trampoline_seg.
+
+2017-11-27  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/tc-xtensa.c (xg_append_jump): New function.
+       (xg_relax_trampoline, init_trampoline_frag)
+       (add_jump_to_trampoline): Replace trampoline jump assembling
+       code with a call to xg_append_jump.
+
+2017-11-27  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/tc-xtensa.c (xg_relax_trampoline): New function.
+       (xtensa_relax_frag): Replace trampoline relaxation code with a
+       call to xg_relax_trampoline.
+
+2017-11-27  Nick Clifton  <nickc@redhat.com>
+
+       PR 22492
+       * config/obj-elf.c (obj_elf_version): Set the alignment of the
+       .note section.
+
+2017-11-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/gas/i386/sse-noavx.s: Add tests for fisttps and
+       fisttpl.
+       * testsuite/gas/i386/x86-64-sse-noavx.s: Likewise.
+       * testsuite/gas/i386/ilp32/x86-64-sse-noavx.d: Updated.
+       * testsuite/gas/i386/sse-noavx.d: Likewise.
+       * testsuite/gas/i386/x86-64-sse-noavx.d: Likewise.
+
+2017-11-24  Jim Wilson  <jimw@sifive.com>
+
+       * write.h (FAKE_LABEL_CHAR): Expand comment.
+
+2017-11-24  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (check_VecOperations): Check register type
+       for masking. Quote the actual register name in the respective
+       diagnostic. Check {z} wasn't specified on its own.
+       * testsuite/gas/i386/inval-avx512f.s,
+       testsuite/gas/i386/x86-64-inval-avx512f.s: Add further bad
+       masking tests.
+       * testsuite/gas/i386/inval-avx512f.l,
+       testsuite/gas/i386/x86-64-inval-avx512f.l: Adjust expectations.
+
+2017-11-24  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/intel.d, testsuite/gas/i386/opcode.d,
+       testsuite/gas/i386/opcode-suffix.d, testsuite/gas/i386/sse3.d,
+       testsuite/gas/i386/sse-noavx.d, testsuite/gas/i386/x86-64-sse3.d,
+       testsuite/gas/i386/x86-64-sse-noavx.d,
+       testsuite/gas/i386/ilp32/x86-64-sse3.d,
+       testsuite/gas/i386/ilp32/x86-64-sse-noavx.d: Adjust expectations.
+
+2017-11-23  Jim Wilson  <jimw@sifive.com>
+
+       * testsuite/gas/all/err-fakelabel.s (dg-error): Also accept fatal error
+       string.
+
+       * as.c (INITIALIZING_EMULS): Define.
+       * config/obj-multi.h (FAKE_LABEL_NAME): When INITIALIZING_EMULS set,
+       don't define it.
+
+2017-11-23  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+       * testsuite/gas/i386/avx512f_vaes-intel.d: Regenerate.
+       * testsuite/gas/i386/avx512f_vaes.d: Likewise.
+       * testsuite/gas/i386/avx512f_vaes-wig1-intel.d: Likewise.
+       * testsuite/gas/i386/avx512f_vaes-wig1.d: Likewise.
+       * testsuite/gas/i386/avx512vl_vaes-intel.d: Likewise.
+       * testsuite/gas/i386/avx512vl_vaes.d: Likewise.
+       * testsuite/gas/i386/x86-64-avx512f_vaes.s: Add instructions with
+       disp8*N.
+       * testsuite/gas/i386/x86-64-avx512f_vaes-intel.d: Regenerate.
+       * testsuite/gas/i386/x86-64-avx512f_vaes.d: Likewise.
+       * testsuite/gas/i386/x86-64-avx512f_vaes-wig.s: Add instructions with
+       disp8*N.
+       * testsuite/gas/i386/x86-64-avx512f_vaes-wig1-intel.d: Regenerate.
+       * testsuite/gas/i386/x86-64-avx512f_vaes-wig1.d: Likewise.
+       * testsuite/gas/i386/x86-64-avx512vl_vaes-intel.d: Regenerate.
+       * testsuite/gas/i386/x86-64-avx512vl_vaes.d: Likewise.
+       * testsuite/gas/i386/x86-64-avx512vl_vaes-wig.s: Add instructions with
+       disp8*N.
+       * testsuite/gas/i386/x86-64-avx512vl_vaes-wig1-intel.d: Regenerate.
+       * testsuite/gas/i386/x86-64-avx512vl_vaes-wig1.d: Regenerate.
+
+2017-11-23  Jan Beulich  <jbeulich@suse.com>
+
+       * tc-i386.c (check_VecOperands): Don't clear .disp16.
+       * testsuite/gas/i386/avx512f.s: Add 16-bit addressing tests.
+       * testsuite/gas/i386/avx512f.d,
+       testsuite/gas/i386/avx512f-intel.d: Adjust expectations.
+
+2017-11-23  Jan Beulich  <jbeulich@suse.com>
+
+       PR gas/22441
+       * config/tc-i386.c (build_modrm_byte): Add address override
+       prefix checks alongside 64-bit mode ones.
+       * testsuite/gas/i386/reloc64.s: Add 32-bit signed/unsigned
+       relocation cases.
+       * testsuite/gas/i386/reloc64.d: Adjust expectations.
+
+2017-11-23  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (build_modrm_byte): Drop VSIB handling from
+       code also setting fake_zero_displacement.
+
+2017-11-23  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/arch-4.s: Correct ud1 and ud2b. Add ud0.
+       * testsuite/gas/i386/intel.s: Test ud2 instead of ud2b.
+       * testsuite/gas/i386/opcode.s: Likewise.
+       * testsuite/gas/i386/arch-4.d, testsuite/gas/i386/intel.d,
+       testsuite/gas/i386/opcode.d, testsuite/gas/i386/opcode-intel.d,
+       testsuite/gas/i386/opcode-suffix.d: Adjust expectations.
+
+2017-11-23  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386-intel.c (i386_intel_operand): Don't call
+       as_bad() if a prior error was already reported.
+       * testsuite/gas/i386/inval-avx512f.l,
+       testsuite/gas/i386/x86-64-inval-avx512f.l: Adjust expectations.
+
+2017-11-22  Jim Wilson  <jimw@sifive.com>
+
+       * as.c: Include write.h.
+       (common_emul_init): Use FAKE_LABEL_NAME.
+       * ecoff.c (add_file, ecoff_directive_end, ecoff_directive_loc):
+       Likewise.
+       (ecoff_build_symbols): Use FAKE_LABEL_CHAR.
+       * expr.c (get_symbol_name): Use FAKE_LABEL_CHAR.  Accept only if
+       input_from_string is TRUE.
+       * read.c (input_from_string): New.
+       (read_symbol_name): Use FAKE_LABEL_CHAR.  Accept only if
+       input_from_string is TRUE.
+       (temp_ilp): Set input_from_string to TRUE.
+       (restore_ilp): Set input_from_string to FALSE.
+       * read.h (input_from_string): Declare.
+       * symbols.c: Include write.h
+       (S_IS_LOCAL): Check for FAKE_LABEL_CHAR.
+       (symbol_relc_make_sym): Fix comment refering to default fake label
+       string.
+       * write.h (FAKE_LABEL_CHAR): New.
+       * config/tc-riscv.h (FAKE_LABEL_CHAR): Define.
+       * testsuite/gas/all/err-fakelabel.s: New.
+
+       * doc/as.texinfo (.align): Change some to most for text nop fill.
+       (.balign, .p2align): Likewise.
+
 2017-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
 
        * config/tc-arm.c (arm_reg_type): Comment on the link with
This page took 0.027765 seconds and 4 git commands to generate.