Stabs-Format.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1992-2019 Free Software Foundation, Inc.
  4. Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
  5. and David MacKenzie.
  6. Permission is granted to copy, distribute and/or modify this document
  7. under the terms of the GNU Free Documentation License, Version 1.3 or
  8. any later version published by the Free Software Foundation; with no
  9. Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
  10. Texts. A copy of the license is included in the section entitled "GNU
  11. Free Documentation License". -->
  12. <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <title>STABS: Stabs Format</title>
  15. <meta name="description" content="STABS: Stabs Format">
  16. <meta name="keywords" content="STABS: Stabs Format">
  17. <meta name="resource-type" content="document">
  18. <meta name="distribution" content="global">
  19. <meta name="Generator" content="makeinfo">
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="Overview.html#Overview" rel="up" title="Overview">
  25. <link href="String-Field.html#String-Field" rel="next" title="String Field">
  26. <link href="Flow.html#Flow" rel="prev" title="Flow">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.smallquotation {font-size: smaller}
  31. div.display {margin-left: 3.2em}
  32. div.example {margin-left: 3.2em}
  33. div.indentedblock {margin-left: 3.2em}
  34. div.lisp {margin-left: 3.2em}
  35. div.smalldisplay {margin-left: 3.2em}
  36. div.smallexample {margin-left: 3.2em}
  37. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style:oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nocodebreak {white-space:nowrap}
  49. span.nolinebreak {white-space:nowrap}
  50. span.roman {font-family:serif; font-weight:normal}
  51. span.sansserif {font-family:sans-serif; font-weight:normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  57. <a name="Stabs-Format"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="String-Field.html#String-Field" accesskey="n" rel="next">String Field</a>, Previous: <a href="Flow.html#Flow" accesskey="p" rel="prev">Flow</a>, Up: <a href="Overview.html#Overview" accesskey="u" rel="up">Overview</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>
  61. </div>
  62. <hr>
  63. <a name="Overview-of-Stab-Format"></a>
  64. <h3 class="section">1.2 Overview of Stab Format</h3>
  65. <p>There are three overall formats for stab assembler directives,
  66. differentiated by the first word of the stab. The name of the directive
  67. describes which combination of four possible data fields follows. It is
  68. either <code>.stabs</code> (string), <code>.stabn</code> (number), or <code>.stabd</code>
  69. (dot). IBM&rsquo;s XCOFF assembler uses <code>.stabx</code> (and some other
  70. directives such as <code>.file</code> and <code>.bi</code>) instead of
  71. <code>.stabs</code>, <code>.stabn</code> or <code>.stabd</code>.
  72. </p>
  73. <p>The overall format of each class of stab is:
  74. </p>
  75. <div class="example">
  76. <pre class="example">.stabs &quot;<var>string</var>&quot;,<var>type</var>,<var>other</var>,<var>desc</var>,<var>value</var>
  77. .stabn <var>type</var>,<var>other</var>,<var>desc</var>,<var>value</var>
  78. .stabd <var>type</var>,<var>other</var>,<var>desc</var>
  79. .stabx &quot;<var>string</var>&quot;,<var>value</var>,<var>type</var>,<var>sdb-type</var>
  80. </pre></div>
  81. <p>For <code>.stabn</code> and <code>.stabd</code>, there is no <var>string</var> (the
  82. <code>n_strx</code> field is zero; see <a href="Symbol-Tables.html#Symbol-Tables">Symbol Tables</a>). For
  83. <code>.stabd</code>, the <var>value</var> field is implicit and has the value of
  84. the current file location. For <code>.stabx</code>, the <var>sdb-type</var> field
  85. is unused for stabs and can always be set to zero. The <var>other</var>
  86. field is almost always unused and can be set to zero.
  87. </p>
  88. <p>The number in the <var>type</var> field gives some basic information about
  89. which type of stab this is (or whether it <em>is</em> a stab, as opposed
  90. to an ordinary symbol). Each valid type number defines a different stab
  91. type; further, the stab type defines the exact interpretation of, and
  92. possible values for, any remaining <var>string</var>, <var>desc</var>, or
  93. <var>value</var> fields present in the stab. See <a href="Stab-Types.html#Stab-Types">Stab Types</a>, for a list
  94. in numeric order of the valid <var>type</var> field values for stab directives.
  95. </p>
  96. </body>
  97. </html>