Work around MinGW mangling of "host:/path"
[msysgit/historical-msysgit.git] / mingw / info / stabs / Stabs-Format.html
bloba399e0eb0c49a13b5223db5f248915da7cc3128a
1 <html lang="en">
2 <head>
3 <title>STABS</title>
4 <meta http-equiv="Content-Type" content="text/html">
5 <meta name="description" content="STABS">
6 <meta name="generator" content="makeinfo 4.3">
7 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
8 </head>
9 <body>
10 <div class="node">
11 <p>
12 Node:<a name="Stabs%20Format">Stabs Format</a>,
13 Next:<a rel="next" accesskey="n" href="String-Field.html#String%20Field">String Field</a>,
14 Previous:<a rel="previous" accesskey="p" href="Flow.html#Flow">Flow</a>,
15 Up:<a rel="up" accesskey="u" href="Overview.html#Overview">Overview</a>
16 <hr><br>
17 </div>
19 <h3 class="section">Overview of Stab Format</h3>
21 <p>There are three overall formats for stab assembler directives,
22 differentiated by the first word of the stab. The name of the directive
23 describes which combination of four possible data fields follows. It is
24 either <code>.stabs</code> (string), <code>.stabn</code> (number), or <code>.stabd</code>
25 (dot). IBM's XCOFF assembler uses <code>.stabx</code> (and some other
26 directives such as <code>.file</code> and <code>.bi</code>) instead of
27 <code>.stabs</code>, <code>.stabn</code> or <code>.stabd</code>.
29 <p>The overall format of each class of stab is:
31 <pre class="example"> .stabs "<var>string</var>",<var>type</var>,<var>other</var>,<var>desc</var>,<var>value</var>
32 .stabn <var>type</var>,<var>other</var>,<var>desc</var>,<var>value</var>
33 .stabd <var>type</var>,<var>other</var>,<var>desc</var>
34 .stabx "<var>string</var>",<var>value</var>,<var>type</var>,<var>sdb-type</var>
35 </pre>
37 <p>For <code>.stabn</code> and <code>.stabd</code>, there is no <var>string</var> (the
38 <code>n_strx</code> field is zero; see <a href="Symbol-Tables.html#Symbol%20Tables">Symbol Tables</a>). For
39 <code>.stabd</code>, the <var>value</var> field is implicit and has the value of
40 the current file location. For <code>.stabx</code>, the <var>sdb-type</var> field
41 is unused for stabs and can always be set to zero. The <var>other</var>
42 field is almost always unused and can be set to zero.
44 <p>The number in the <var>type</var> field gives some basic information about
45 which type of stab this is (or whether it <em>is</em> a stab, as opposed
46 to an ordinary symbol). Each valid type number defines a different stab
47 type; further, the stab type defines the exact interpretation of, and
48 possible values for, any remaining <var>string</var>, <var>desc</var>, or
49 <var>value</var> fields present in the stab. See <a href="Stab-Types.html#Stab%20Types">Stab Types</a>, for a list
50 in numeric order of the valid <var>type</var> field values for stab directives.
52 </body></html>