diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2004-03-21 23:50:38 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@axis.com> | 2004-03-21 23:50:38 +0000 |
commit | 1048a9ba6538d0a1800c330b5011475d2183c798 (patch) | |
tree | 55f0b89ddbfc017d6f2d703a932a4a0dc8083c74 /gas/doc | |
parent | 95631471e2a5e4a39a26ad271edd037c66ab9c9c (diff) | |
download | gdb-1048a9ba6538d0a1800c330b5011475d2183c798.zip gdb-1048a9ba6538d0a1800c330b5011475d2183c798.tar.gz gdb-1048a9ba6538d0a1800c330b5011475d2183c798.tar.bz2 |
* doc/c-cris.texi (CRIS-Opts): Document --no-mul-bug-abort,
--mul-bug-abort and the default behavior.
* config/tc-cris.c (cris_insn_kind): New member CRIS_INSN_MUL.
(err_for_dangerous_mul_placement): New variable.
(STATE_MUL, OPTION_MULBUG_ABORT_ON, OPTION_MULBUG_ABORT_OFF): New
macros.
(md_cris_relax_table): Have placeholder for STATE_MUL.
(md_longopts): New options --mul-bug-abort and --no-mul-bug-abort.
(cris_relax_frag) <case ENCODE_RELAX (STATE_MUL, STATE_BYTE)>: New
case doing nothing.
(md_estimate_size_before_relax) <case ENCODE_RELAX (STATE_MUL,
STATE_BYTE)>: Ditto.
(md_convert_frag) <ENCODE_RELAX (STATE_MUL, STATE_BYTE)>: Check
alignment and position of this frag, emit error message if
suspicious.
(md_assemble): For a multiply insn and when checking it,
transform the current frag into a special frag for that purpose.
(md_parse_option) <case OPTION_MULBUG_ABORT_OFF, case
OPTION_MULBUG_ABORT_ON>: Handle new options.
Diffstat (limited to 'gas/doc')
-rw-r--r-- | gas/doc/c-cris.texi | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gas/doc/c-cris.texi b/gas/doc/c-cris.texi index 2551b18..e814767 100644 --- a/gas/doc/c-cris.texi +++ b/gas/doc/c-cris.texi @@ -74,6 +74,25 @@ When @option{-N} is specified, @code{@value{AS}} will emit a warning when a 16-bit branch instruction is expanded into a 32-bit multiple-instruction construct (@pxref{CRIS-Expand}). +@cindex @option{--no-mul-bug-abort} command line option, CRIS +@cindex @option{--mul-bug-abort} command line option, CRIS +@cindex CRIS @option{--no-mul-bug-abort} command line option +@cindex CRIS @option{--mul-bug-abort} command line option + +Some versions of the CRIS v10, for example in the Etrax 100 LX, +contain a bug that causes destabilizing memory accesses when a +multiply instruction is executed with certain values in the +first operand just before a cache-miss. When the +@option{--mul-bug-abort} command line option is active (the +default value), @code{@value{AS}} will refuse to assemble a file +containing a multiply instruction at a dangerous offset, one +that could be the last on a cache-line, or is in a section with +insufficient alignment. This placement checking does not catch +any case where the multiply instruction is dangerously placed +because it is located in a delay-slot. The +@option{--mul-bug-abort} command line option turns off the +checking. + @node CRIS-Expand @section Instruction expansion |