<html lang="en">
<head>
<title>Alpha Options - 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="Alpha_002dDependent.html#Alpha_002dDependent" title="Alpha-Dependent">
<link rel="prev" href="Alpha-Notes.html#Alpha-Notes" title="Alpha Notes">
<link rel="next" href="Alpha-Syntax.html#Alpha-Syntax" title="Alpha Syntax">
<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="Alpha-Options"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Alpha-Syntax.html#Alpha-Syntax">Alpha Syntax</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Alpha-Notes.html#Alpha-Notes">Alpha Notes</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Alpha_002dDependent.html#Alpha_002dDependent">Alpha-Dependent</a>
<hr>
</div>

<h4 class="subsection">9.1.2 Options</h4>

<p><a name="index-Alpha-options-510"></a><a name="index-options-for-Alpha-511"></a>
     
<a name="index-g_t_0040code_007b_002dm_0040var_007bcpu_007d_007d-command-line-option_002c-Alpha-512"></a>
<dl><dt><samp><span class="option">-m</span><var>cpu</var></samp><dd>This option specifies the target processor.  If an attempt is made to
assemble an instruction which will not execute on the target processor,
the assembler may either expand the instruction as a macro or issue an
error message.  This option is equivalent to the <code>.arch</code> directive.

     <p>The following processor names are recognized:
<code>21064</code>,
<code>21064a</code>,
<code>21066</code>,
<code>21068</code>,
<code>21164</code>,
<code>21164a</code>,
<code>21164pc</code>,
<code>21264</code>,
<code>21264a</code>,
<code>21264b</code>,
<code>ev4</code>,
<code>ev5</code>,
<code>lca45</code>,
<code>ev5</code>,
<code>ev56</code>,
<code>pca56</code>,
<code>ev6</code>,
<code>ev67</code>,
<code>ev68</code>. 
The special name <code>all</code> may be used to allow the assembler to accept
instructions valid for any Alpha processor.

     <p>In order to support existing practice in OSF/1 with respect to <code>.arch</code>,
and existing practice within <samp><span class="command">MILO</span></samp> (the Linux ARC bootloader), the
numbered processor names (e.g. 21064) enable the processor-specific PALcode
instructions, while the &ldquo;electro-vlasic&rdquo; names (e.g. <code>ev4</code>) do not.

     <p><a name="index-g_t_0040code_007b_002dmdebug_007d-command-line-option_002c-Alpha-513"></a><a name="index-g_t_0040code_007b_002dno_002dmdebug_007d-command-line-option_002c-Alpha-514"></a><br><dt><samp><span class="option">-mdebug</span></samp><dt><samp><span class="option">-no-mdebug</span></samp><dd>Enables or disables the generation of <code>.mdebug</code> encapsulation for
stabs directives and procedure descriptors.  The default is to automatically
enable <code>.mdebug</code> when the first stabs directive is seen.

     <p><a name="index-g_t_0040code_007b_002drelax_007d-command-line-option_002c-Alpha-515"></a><br><dt><samp><span class="option">-relax</span></samp><dd>This option forces all relocations to be put into the object file, instead
of saving space and resolving some relocations at assembly time.  Note that
this option does not propagate all symbol arithmetic into the object file,
because not all symbol arithmetic can be represented.  However, the option
can still be useful in specific applications.

     <p><a name="index-g_t_0040code_007b_002dreplace_007d-command-line-option_002c-Alpha-516"></a><a name="index-g_t_0040code_007b_002dnoreplace_007d-command-line-option_002c-Alpha-517"></a><br><dt><samp><span class="option">-replace</span></samp><dt><samp><span class="option">-noreplace</span></samp><dd>Enables or disables the optimization of procedure calls, both at assemblage
and at link time.  These options are only available for VMS targets and
<code>-replace</code> is the default.  See section 1.4.1 of the OpenVMS Linker
Utility Manual.

     <p><a name="index-g_t_0040code_007b_002dg_007d-command-line-option_002c-Alpha-518"></a><br><dt><samp><span class="option">-g</span></samp><dd>This option is used when the compiler generates debug information.  When
<samp><span class="command">gcc</span></samp> is using <samp><span class="command">mips-tfile</span></samp> to generate debug
information for ECOFF, local labels must be passed through to the object
file.  Otherwise this option has no effect.

     <p><a name="index-g_t_0040code_007b_002dG_007d-command-line-option_002c-Alpha-519"></a><br><dt><samp><span class="option">-G</span><var>size</var></samp><dd>A local common symbol larger than <var>size</var> is placed in <code>.bss</code>,
while smaller symbols are placed in <code>.sbss</code>.

     <p><a name="index-g_t_0040code_007b_002dF_007d-command-line-option_002c-Alpha-520"></a><a name="index-g_t_0040code_007b_002d32addr_007d-command-line-option_002c-Alpha-521"></a><br><dt><samp><span class="option">-F</span></samp><dt><samp><span class="option">-32addr</span></samp><dd>These options are ignored for backward compatibility. 
</dl>

   <p><a name="index-Alpha-Syntax-522"></a>

   </body></html>

