blob: 3a4f949fb90afdab7b0267fc384e441863833b82 [file] [log] [blame]
<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>