diff options
author | Nick Clifton <nickc@redhat.com> | 2015-10-22 16:25:46 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-10-22 16:25:46 +0100 |
commit | 2213f746d3ab63715c24c3197ae207486464091b (patch) | |
tree | 95e39bab962879847d4cdc20124a869ae9e9e624 /gas/doc | |
parent | 9b4c123c959085bb11a1e8126242a79d9de18995 (diff) | |
download | gdb-2213f746d3ab63715c24c3197ae207486464091b.zip gdb-2213f746d3ab63715c24c3197ae207486464091b.tar.gz gdb-2213f746d3ab63715c24c3197ae207486464091b.tar.bz2 |
Add support for MSP430 silicon errata to the assembler.
* config/tc-msp430.c (PUSH_1X_WORKAROUND): Delete.
(OPTION_SILICON_ERRATA): Define.
(OPTION_SILICON_WARN): Define.
(md_parse_opton): Handle silicon errata options.
(md_longopts): Add silicon errata options.
(ms_show_usage): Report silicon errata options.
(msp430_srcoperand): Handle silicon errata.
(msp430_operands): Likewise. Improve nop insertion.
(msp430_fix_adjustable): Update warning generation.
* doc/c-msp430.texi: Document silicon errata options.
tests * gas/msp430/errata_fixes.s: New test source file.
* gas/msp430/errata_fixes.d: New test control file.
* gas/msp430/errata_warns.s: New test source file.
* gas/msp430/errata_warns.d: New test control file.
* gas/msp430/errata_warns.l: New test message file.
* gas/msp430/msp430.exp: Run the new tests.
* gas/msp430/bad.l: Update expected warning messages
* gas/msp430/msp430.exp: Run the new tests.
Diffstat (limited to 'gas/doc')
-rw-r--r-- | gas/doc/c-msp430.texi | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gas/doc/c-msp430.texi b/gas/doc/c-msp430.texi index 2a372db..5b72c76 100644 --- a/gas/doc/c-msp430.texi +++ b/gas/doc/c-msp430.texi @@ -36,6 +36,40 @@ also enables NOP generation unless the @option{-mN} is also specified. selects the cpu architecture. If the architecture is 430Xv2 then this also enables NOP generation unless the @option{-mN} is also specified. +@item -msilicon-errata=@var{name}[,@var{name}@dots{}] +Implements a fixup for named silicon errata. Multiple silicon errata +can be specified by multiple uses of the @option{-msilicon-errata} +option and/or by including the errata names, separated by commas, on +an individual @option{-msilicon-errata} option. Errata names +currently recognised by the assembler are: + +@table @code +@item cpu4 +@code{PUSH #4} and @option{PUSH #8} need longer encodings on the +MSP430. This option is enabled by default, and cannot be disabled. +@item cpu8 +Do not set the @code{SP} to an odd value. +@item cpu11 +Do not update the @code{SR} and the @code{PC} in the same instruction. +@item cpu12 +Do not use the @code{PC} in a @code{CMP} or @code{BIT} instruction. +@item cpu13 +Do not use an arithmetic instruction to modify the @code{SR}. +@item cpu19 +Insert @code{NOP} after @code{CPUOFF}. +@item cpu42 +Warn where a @code{NOP} ought to be present after enabling interrupts. +@item cpu42+ +Add @code{NOP} after enabling interrupts. +@end table + +@item -msilicon-errata-warn=@var{name}[,@var{name}@dots{}] +Like the @option{-msilicon-errata} option except that instead of +fixing the specified errata, a warning message is issued instead. +This option can be used alongside @option{-msilicon-errata} to +generate messages whenever a problem is fixed, or on its own in order +to inspect code for potential problems. + @item -mP enables polymorph instructions handler. |