<html lang="en">
<head>
<title>File - 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="Pseudo-Ops.html#Pseudo-Ops" title="Pseudo Ops">
<link rel="prev" href="Fail.html#Fail" title="Fail">
<link rel="next" href="Fill.html#Fill" title="Fill">
<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="File"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Fill.html#Fill">Fill</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Fail.html#Fail">Fail</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo-Ops">Pseudo Ops</a>
<hr>
</div>

<h3 class="section">7.51 <code>.file</code></h3>

<p><a name="index-g_t_0040code_007bfile_007d-directive-328"></a>
There are two different versions of the <code>.file</code> directive.  Targets
that support DWARF2 line number information use the DWARF2 version of
<code>.file</code>.  Other targets use the default version.

<h4 class="subheading">Default Version</h4>

<p><a name="index-logical-file-name-329"></a><a name="index-file-name_002c-logical-330"></a>This version of the <code>.file</code> directive tells <samp><span class="command">as</span></samp> that we
are about to start a new logical file.  The syntax is:

<pre class="smallexample">     .file <var>string</var>
</pre>
   <p><var>string</var> is the new file name.  In general, the filename is
recognized whether or not it is surrounded by quotes &lsquo;<samp><span class="samp">"</span></samp>&rsquo;; but if you wish
to specify an empty file name, you must give the quotes&ndash;<code>""</code>.  This
statement may go away in future: it is only recognized to be compatible with
old <samp><span class="command">as</span></samp> programs.

<h4 class="subheading">DWARF2 Version</h4>

   <p>When emitting DWARF2 line number information, <code>.file</code> assigns filenames
to the <code>.debug_line</code> file name table.  The syntax is:

<pre class="smallexample">     .file <var>fileno</var> <var>filename</var>
</pre>
   <p>The <var>fileno</var> operand should be a unique positive integer to use as the
index of the entry in the table.  The <var>filename</var> operand is a C string
literal.

   <p>The detail of filename indices is exposed to the user because the filename
table is shared with the <code>.debug_info</code> section of the DWARF2 debugging
information, and thus the user must know the exact indices that table
entries will have.

   </body></html>

