<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1992-2015 Free Software Foundation, Inc.
Contributed by Cygnus Support.  Written by Julia Menapace, Jim Kingdon,
and David MacKenzie.

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". -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>STABS: Source Files</title>

<meta name="description" content="STABS: Source Files">
<meta name="keywords" content="STABS: Source Files">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Program-Structure.html#Program-Structure" rel="up" title="Program Structure">
<link href="Include-Files.html#Include-Files" rel="next" title="Include Files">
<link href="Main-Program.html#Main-Program" rel="prev" title="Main Program">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Source-Files"></a>
<div class="header">
<p>
Next: <a href="Include-Files.html#Include-Files" accesskey="n" rel="next">Include Files</a>, Previous: <a href="Main-Program.html#Main-Program" accesskey="p" rel="prev">Main Program</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Paths-and-Names-of-the-Source-Files"></a>
<h3 class="section">2.2 Paths and Names of the Source Files</h3>

<a name="index-N_005fSO"></a>
<p>Before any other stabs occur, there must be a stab specifying the source
file.  This information is contained in a symbol of stab type
<code>N_SO</code>; the string field contains the name of the file.  The
value of the symbol is the start address of the portion of the
text section corresponding to that file.
</p>
<p>Some compilers use the desc field to indicate the language of the
source file.  Sun&rsquo;s compilers started this usage, and the first
constants are derived from their documentation.  Languages added
by gcc/gdb start at 0x32 to avoid conflict with languages Sun may
add in the future.  A desc field with a value 0 indicates that no
language has been specified via this mechanism.
</p>
<dl compact="compact">
<dt><code>N_SO_AS</code> (0x1)</dt>
<dd><p>Assembly language
</p></dd>
<dt><code>N_SO_C</code>  (0x2)</dt>
<dd><p>K&amp;R traditional C
</p></dd>
<dt><code>N_SO_ANSI_C</code> (0x3)</dt>
<dd><p>ANSI C
</p></dd>
<dt><code>N_SO_CC</code>  (0x4)</dt>
<dd><p>C++
</p></dd>
<dt><code>N_SO_FORTRAN</code> (0x5)</dt>
<dd><p>Fortran
</p></dd>
<dt><code>N_SO_PASCAL</code> (0x6)</dt>
<dd><p>Pascal
</p></dd>
<dt><code>N_SO_FORTRAN90</code> (0x7)</dt>
<dd><p>Fortran90
</p></dd>
<dt><code>N_SO_OBJC</code> (0x32)</dt>
<dd><p>Objective-C
</p></dd>
<dt><code>N_SO_OBJCPLUS</code> (0x33)</dt>
<dd><p>Objective-C++
</p></dd>
</dl>

<p>Some compilers (for example, GCC2 and SunOS4 <samp>/bin/cc</samp>) also
include the directory in which the source was compiled, in a second
<code>N_SO</code> symbol preceding the one containing the file name.  This
symbol can be distinguished by the fact that it ends in a slash.  Code
from the <code>cfront</code> C<tt>++</tt> compiler can have additional <code>N_SO</code> symbols for
nonexistent source files after the <code>N_SO</code> for the real source file;
these are believed to contain no useful information.
</p>
<p>For example:
</p>
<div class="example">
<pre class="example">.stabs &quot;/cygint/s1/users/jcm/play/&quot;,100,0,0,Ltext0     # <span class="roman">100 is N_SO</span>
.stabs &quot;hello.c&quot;,100,0,0,Ltext0
        .text
Ltext0:
</pre></div>

<a name="index-C_005fFILE"></a>
<p>Instead of <code>N_SO</code> symbols, XCOFF uses a <code>.file</code> assembler
directive which assembles to a <code>C_FILE</code> symbol; explaining this in
detail is outside the scope of this document.
</p>
<p>If it is useful to indicate the end of a source file, this is done with
an <code>N_SO</code> symbol with an empty string for the name.  The value is
the address of the end of the text section for the file.  For some
systems, there is no indication of the end of a source file, and you
just need to figure it ended when you see an <code>N_SO</code> for a different
source file, or a symbol ending in <code>.o</code> (which at least some
linkers insert to mark the start of a new <code>.o</code> file).
</p>
<hr>
<div class="header">
<p>
Next: <a href="Include-Files.html#Include-Files" accesskey="n" rel="next">Include Files</a>, Previous: <a href="Main-Program.html#Main-Program" accesskey="p" rel="prev">Main Program</a>, Up: <a href="Program-Structure.html#Program-Structure" accesskey="u" rel="up">Program Structure</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
