<html lang="en">
<head>
<title>CRIS-Opts - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="CRIS_002dDependent.html#CRIS_002dDependent" title="CRIS-Dependent">
<link rel="next" href="CRIS_002dExpand.html#CRIS_002dExpand" title="CRIS-Expand">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".

Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled ``GNU Free Documentation License''.

-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="CRIS-Opts"></a>
<a name="CRIS_002dOpts"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="CRIS_002dExpand.html#CRIS_002dExpand">CRIS-Expand</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="CRIS_002dDependent.html#CRIS_002dDependent">CRIS-Dependent</a>
<hr>
</div>

<h4 class="subsection">9.7.1 Command-line Options</h4>

<p><a name="index-options_002c-CRIS-696"></a><a name="index-CRIS-options-697"></a>The CRIS version of <code>as</code> has these
machine-dependent command-line options.

   <p><a name="index-g_t_0040option_007b_002d_002demulation_003dcriself_007d-command-line-option_002c-CRIS-698"></a><a name="index-g_t_0040option_007b_002d_002demulation_003dcrisaout_007d-command-line-option_002c-CRIS-699"></a><a name="index-CRIS-_0040option_007b_002d_002demulation_003dcriself_007d-command-line-option-700"></a><a name="index-CRIS-_0040option_007b_002d_002demulation_003dcrisaout_007d-command-line-option-701"></a>
The format of the generated object files can be either ELF or
a.out, specified by the command-line options
<samp><span class="option">--emulation=crisaout</span></samp> and <samp><span class="option">--emulation=criself</span></samp>. 
The default is ELF (criself), unless <code>as</code> has been
configured specifically for a.out by using the configuration
name <code>cris-axis-aout</code>.

   <p><a name="index-g_t_0040option_007b_002d_002dunderscore_007d-command-line-option_002c-CRIS-702"></a><a name="index-g_t_0040option_007b_002d_002dno_002dunderscore_007d-command-line-option_002c-CRIS-703"></a><a name="index-CRIS-_0040option_007b_002d_002dunderscore_007d-command-line-option-704"></a><a name="index-CRIS-_0040option_007b_002d_002dno_002dunderscore_007d-command-line-option-705"></a>There are two different link-incompatible ELF object file
variants for CRIS, for use in environments where symbols are
expected to be prefixed by a leading &lsquo;<samp><span class="samp">_</span></samp>&rsquo; character and for
environments without such a symbol prefix.  The variant used for
GNU/Linux port has no symbol prefix.  Which variant to produce
is specified by either of the options <samp><span class="option">--underscore</span></samp> and
<samp><span class="option">--no-underscore</span></samp>.  The default is <samp><span class="option">--underscore</span></samp>. 
Since symbols in CRIS a.out objects are expected to have a
&lsquo;<samp><span class="samp">_</span></samp>&rsquo; prefix, specifying <samp><span class="option">--no-underscore</span></samp> when
generating a.out objects is an error.  Besides the object format
difference, the effect of this option is to parse register names
differently (see <a href="crisnous.html#crisnous">crisnous</a>).  The <samp><span class="option">--no-underscore</span></samp>
option makes a &lsquo;<samp><span class="samp">$</span></samp>&rsquo; register prefix mandatory.

   <p><a name="index-g_t_0040option_007b_002d_002dpic_007d-command-line-option_002c-CRIS-706"></a><a name="index-CRIS-_0040option_007b_002d_002dpic_007d-command-line-option-707"></a><a name="index-Position_002dindependent-code_002c-CRIS-708"></a><a name="index-CRIS-position_002dindependent-code-709"></a>The option <samp><span class="option">--pic</span></samp> must be passed to <code>as</code> in
order to recognize the symbol syntax used for ELF (SVR4 PIC)
position-independent-code (see <a href="crispic.html#crispic">crispic</a>).  This will also
affect expansion of instructions.  The expansion with
<samp><span class="option">--pic</span></samp> will use PC-relative rather than (slightly
faster) absolute addresses in those expansions.

   <p><a name="index-g_t_0040option_007b_002d_002dmarch_003d_0040var_007barchitecture_007d_007d-command-line-option_002c-CRIS-710"></a><a name="index-CRIS-_0040option_007b_002d_002dmarch_003d_0040var_007barchitecture_007d_007d-command-line-option-711"></a><a name="index-Architecture-variant-option_002c-CRIS-712"></a><a name="index-CRIS-architecture-variant-option-713"></a>The option <samp><span class="option">--march=</span><var>architecture</var></samp>
<a name="march_002doption"></a>specifies the recognized instruction set
and recognized register names.  It also controls the
architecture type of the object file.  Valid values for
<var>architecture</var> are:
     <dl>
<dt><code>v0_v10</code><dd>All instructions and register names for any architecture variant
in the set v0<small class="dots">...</small>v10 are recognized.  This is the
default if the target is configured as cris-*.

     <br><dt><code>v10</code><dd>Only instructions and register names for CRIS v10 (as found in
ETRAX 100 LX) are recognized.  This is the default if the target
is configured as crisv10-*.

     <br><dt><code>v32</code><dd>Only instructions and register names for CRIS v32 (code name
Guinness) are recognized.  This is the default if the target is
configured as crisv32-*.  This value implies
<samp><span class="option">--no-mul-bug-abort</span></samp>.  (A subsequent
<samp><span class="option">--mul-bug-abort</span></samp> will turn it back on.)

     <br><dt><code>common_v10_v32</code><dd>Only instructions with register names and addressing modes with
opcodes common to the v10 and v32 are recognized. 
</dl>

   <p><a name="index-g_t_0040option_007b_002dN_007d-command-line-option_002c-CRIS-714"></a><a name="index-CRIS-_0040option_007b_002dN_007d-command-line-option-715"></a>When <samp><span class="option">-N</span></samp> is specified, <code>as</code> will emit a
warning when a 16-bit branch instruction is expanded into a
32-bit multiple-instruction construct (see <a href="CRIS_002dExpand.html#CRIS_002dExpand">CRIS-Expand</a>).

   <p><a name="index-g_t_0040option_007b_002d_002dno_002dmul_002dbug_002dabort_007d-command-line-option_002c-CRIS-716"></a><a name="index-g_t_0040option_007b_002d_002dmul_002dbug_002dabort_007d-command-line-option_002c-CRIS-717"></a><a name="index-CRIS-_0040option_007b_002d_002dno_002dmul_002dbug_002dabort_007d-command-line-option-718"></a><a name="index-CRIS-_0040option_007b_002d_002dmul_002dbug_002dabort_007d-command-line-option-719"></a>
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
<samp><span class="option">--mul-bug-abort</span></samp> command line option is active (the
default value), <code>as</code> 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
<samp><span class="option">--mul-bug-abort</span></samp> command line option turns off the
checking.

   </body></html>

