| 2016-09-26 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backport from mainline |
| 2016-02-16 Nick Clifton <nickc@redhat.com> |
| |
| * doc/as.texinfo (Section): Fix up texinfo snafus in previous |
| update. |
| |
| 2016-09-25 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backport from mainline |
| 2016-02-15 Nick Clifton <nickc@redhat.com> |
| |
| * doc/as.texinfo (.section): Document that numeric values can now |
| be used for the flags and type fields of the ELF target's .section |
| directive. Add notes about the restrictions on setting flags and |
| types. |
| * config/obj-elf.c (obj_elf_change_section): Allow known sections |
| to be given processor specific section types. Allow processor and |
| application specific flags of a section to be set after |
| definition. |
| (obj_elf_parse_section_letters): Handle parsing numeric values. |
| (obj_elf_section_type): Handle parsing numeric values. |
| (obj_elf_section): Allow numeric type values. |
| * config/obj-elf.h (obj_elf_change_section): Update prototype. |
| * NEWS: Mention the new feature. |
| |
| 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (v7m_psrs): Add MSPLIM, PSPLIM, MSPLIM_NS, |
| PSPLIM_NS, PRIMASK_NS, BASEPRI_NS, FAULTMASK_NS, CONTROL_NS, SP_NS and |
| their lowecase counterpart special registers. Write register |
| identifier in hex. |
| * testsuite/gas/arm/archv8m-cmse-msr.s: Reorganize tests per |
| operation, special register and then case. Use different register for |
| each operation. Add tests for new special registers. |
| * testsuite/gas/arm/archv8m-cmse-msr-base.d: Adapt expected result |
| accordingly. |
| * testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise. |
| * testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise. |
| |
| 2016-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (v7m_psrs): Remove msp_s, MSP_S, psp_s and PSP_S |
| special registers. |
| * testsuite/gas/arm/archv8m-cmse-msr.s: Remove test for above special |
| registers. |
| * testsuite/gas/arm/archv8m-cmse-msr-base.d: Likewise. |
| * testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise. |
| * testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise. |
| |
| 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * NEWS: Document support for ARMv8-M and its DSP and Security |
| Extensions. |
| |
| 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (arm_adjust_symtab): Use ARM_SET_SYM_BRANCH_TYPE to |
| set branch type of a symbol. |
| |
| 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (arm_ext_dsp): New feature for Thumb DSP |
| instructions. |
| (arm_extensions): Add dsp extension for ARMv8-M Mainline. |
| (aeabi_set_public_attributes): Memorize the feature bits of the |
| architecture selected for Tag_CPU_arch. Use it to set |
| Tag_DSP_extension to 1 for ARMv8-M Mainline with DSP extension. |
| (arm_convert_symbolic_attribute): Define Tag_DSP_extension. |
| |
| 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c |
| (struct arm_option_extension_value_table): Make allowed_archs an array |
| with 2 entries. |
| (ARM_EXT_OPT): Adapt to only fill the first entry of allowed_archs. |
| (ARM_EXT_OPT2): New macro filling the two entries of allowed_archs. |
| (arm_extensions): Use separate entries in allowed_archs when several |
| archs are allowed to use an extension and change ARCH_ANY in |
| ARM_ARCH_NONE in allowed_archs. |
| (arm_parse_extension): Check that, for each allowed_archs entry, all |
| bits are set in the current architecture, ignoring ARM_ANY entries. |
| (s_arm_arch_extension): Likewise. |
| |
| 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (arm_ext_m): Add feature bit ARM_EXT2_V8M_MAIN. |
| (arm_ext_v8m_main): New feature set for bit ARM_EXT2_V8M_MAIN. |
| (arm_ext_v8m_m_only): New feature set for instructions in ARMv8-M not |
| shared with a non M profile architecture. |
| (do_rn): New function. |
| (known_t32_only_insn): Check opcode against arm_ext_v8m_m_only rather |
| than arm_ext_v8m. |
| (v7m_psrs): Add ARMv8-M security extensions new special registers. |
| (insns): Add ARMv8-M Security Extensions instructions. |
| (aeabi_set_public_attributes): Use arm_ext_v8m_m_only instead of |
| arm_ext_v8m_m to decide the profile and the Thumb ISA. |
| |
| 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Revert |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (insns): Add ARMv8-M security extensions |
| instructions. |
| |
| 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Revert |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c |
| (struct arm_option_extension_value_table): Make allowed_archs an array |
| with 2 entries. |
| (ARM_EXT_OPT): Adapt to only fill the first entry of allowed_archs. |
| (ARM_EXT_OPT2): New macro filling the two entries of allowed_archs. |
| (arm_extensions): Use separate entries in allowed_archs when several |
| archs are allowed to use an extension and change ARCH_ANY in |
| ARM_ARCH_NONE in allowed_archs. |
| (arm_parse_extension): Check that, for each allowed_archs entry, all |
| bits are set in the current architecture, ignoring ARM_ANY entries. |
| (s_arm_arch_extension): Likewise. |
| |
| 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Revert |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (arm_ext_dsp): New feature for Thumb DSP |
| instructions. |
| (arm_extensions): Add dsp extension for ARMv8-M Mainline. |
| (aeabi_set_public_attributes): Set Tag_DSP_extension to 1 for ARMv8-M |
| Mainline with DSP extension. |
| (arm_convert_symbolic_attribute): Define Tag_DSP_extension. |
| |
| 2016-03-29 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/tc-arm.c (arm_cpus): Add cortex-r8. |
| * doc/c-arm.texi: Add cortex-r8. |
| |
| 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Merge ARMv8-M support code from master as part of merge commit |
| 2015-12-24 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (non_v6t2_wide_only_insn): Rename into ... |
| (t1_isa_t32_only_insn): This. Clarify what instructions are catched by |
| the first conditional block. |
| (wide_insn_ok): Rename into ... |
| (t32_insn_ok): This. |
| (aeabi_set_public_attributes): Use TAG_CPU_ARCH_V7 instead of 10, |
| TAG_CPU_ARCH_V7E_M instead of 13, TAG_CPU_ARCH_V8 instead of 14, |
| TAG_CPU_ARCH_V8M_BASE instead of 16 and TAG_CPU_ARCH_V8M_MAIN instead |
| of 17. |
| |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (arm_ext_dsp): New feature for Thumb DSP |
| instructions. |
| (arm_extensions): Add dsp extension for ARMv8-M Mainline. |
| (aeabi_set_public_attributes): Set Tag_DSP_extension to 1 for ARMv8-M |
| Mainline with DSP extension. |
| (arm_convert_symbolic_attribute): Define Tag_DSP_extension. |
| |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c |
| (struct arm_option_extension_value_table): Make allowed_archs an array |
| with 2 entries. |
| (ARM_EXT_OPT): Adapt to only fill the first entry of allowed_archs. |
| (ARM_EXT_OPT2): New macro filling the two entries of allowed_archs. |
| (arm_extensions): Use separate entries in allowed_archs when several |
| archs are allowed to use an extension and change ARCH_ANY in |
| ARM_ARCH_NONE in allowed_archs. |
| (arm_parse_extension): Check that, for each allowed_archs entry, all |
| bits are set in the current architecture, ignoring ARM_ANY entries. |
| (s_arm_arch_extension): Likewise. |
| |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (insns): Add ARMv8-M security extensions |
| instructions. |
| |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (arm_ext_v6t2_v8m): New feature for instructions |
| shared between ARMv6T2 and ARMv8-M. |
| (move_or_literal_pool): Check mov.w/mvn and movw availability against |
| arm_ext_v6t2 and arm_ext_v6t2_v8m respectively instead of checking |
| arm_arch_t2. |
| (do_t_branch): Error out for wide conditional branch instructions if |
| targetting ARMv8-M Baseline. |
| (non_v6t2_wide_only_insn): Add the logic for new wide-only instructions |
| in ARMv8-M Baseline. |
| (wide_insn_ok): New function. |
| (md_assemble): Use wide_insn_ok instead of non_v6t2_wide_only_insn and |
| adapt error message for unsupported wide instruction to ARMv8-M |
| Baseline. |
| (insns): Reorganize instructions shared by ARMv8-M Baseline and |
| ARMv6t2 architecture. |
| (arm_cpus): Set feature bit ARM_EXT2_V6T2_V8M for marvell-pj4 and |
| marvell-whitney cores. |
| (arm_archs): Define armv8-m.base architecture. |
| (cpu_arch_ver): Define ARM_ARCH_V8M_BASE architecture version. |
| (aeabi_set_public_attributes): Add logic to set Tag_CPU_arch to 17 for |
| ARMv8-M Mainline. Set Tag_DIV_use for ARMv8-M Baseline as well. |
| |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (arm_ext_m): Include ARMv8-M. |
| (arm_ext_v8m): New feature for ARMv8-M. |
| (arm_ext_atomics): New feature for ARMv8 atomics. |
| (do_tt): New encoding function for TT* instructions. |
| (insns): Add new entries for ARMv8-M specific instructions and |
| reorganize the ones shared by ARMv8-M Mainline and ARMv8-A. |
| (arm_archs): Define armv8-m.main architecture. |
| (cpu_arch_ver): Define ARM_ARCH_V8M_MAIN architecture version and |
| clarify the ordering rule. |
| (aeabi_set_public_attributes): Add logic to keep setting Tag_CPU_arch |
| to ARMv8-A for -march=all. Also set Tag_CPU_arch_profile to 'A' if |
| extension bit for atomic instructions is set, unless it is ARMv8-M. |
| Set Tag_THUMB_ISA_use to 3 for ARMv8-M. Set Tag_DIV_use to 0 for |
| ARMv8-M Mainline. |
| |
| 2015-12-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/tc-arm.c (move_or_literal_pool): Check mov.w, mvm and movw |
| availability against arm_ext_v6t2 instead of checking arm_arch_t2, |
| fixing comments along the way. |
| (handle_it_state): Check arm_ext_v6t2 instead of arm_arch_t2 to |
| generate IT instruction. |
| (non_v6t2_wide_only_insn): New function. |
| (md_assemble): Use above new function to check for invalid wide |
| instruction for CPU Thumb ISA and to determine what Thumb extension |
| bit is necessary for that instruction. |
| (md_apply_fix): Use arm_ext_v6t2 instead of arm_arch_t2 to decide if |
| branch is out of range. |