You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
5.2KB

  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-2020 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 6.5, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  15. <title>Transformations On Symbol Tables (STABS)</title>
  16. <meta name="description" content="Transformations On Symbol Tables (STABS)">
  17. <meta name="keywords" content="Transformations On Symbol Tables (STABS)">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  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="Symbol-Tables.html#Symbol-Tables" rel="up" title="Symbol Tables">
  25. <link href="Transformations-On-Static-Variables.html#Transformations-On-Static-Variables" rel="next" title="Transformations On Static Variables">
  26. <link href="Symbol-Table-Format.html#Symbol-Table-Format" rel="prev" title="Symbol Table Format">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.indentedblock {margin-right: 0em}
  31. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  32. blockquote.smallquotation {font-size: smaller}
  33. div.display {margin-left: 3.2em}
  34. div.example {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  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.nolinebreak {white-space: nowrap}
  49. span.roman {font-family: initial; font-weight: normal}
  50. span.sansserif {font-family: sans-serif; font-weight: normal}
  51. ul.no-bullet {list-style: none}
  52. -->
  53. </style>
  54. </head>
  55. <body lang="en">
  56. <a name="Transformations-On-Symbol-Tables"></a>
  57. <div class="header">
  58. <p>
  59. Previous: <a href="Symbol-Table-Format.html#Symbol-Table-Format" accesskey="p" rel="prev">Symbol Table Format</a>, Up: <a href="Symbol-Tables.html#Symbol-Tables" accesskey="u" rel="up">Symbol Tables</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>
  60. </div>
  61. <hr>
  62. <a name="Transformations-on-Symbol-Tables"></a>
  63. <h3 class="section">7.2 Transformations on Symbol Tables</h3>
  64. <p>The linker concatenates object files and does fixups of externally
  65. defined symbols.
  66. </p>
  67. <p>You can see the transformations made on stab data by the assembler and
  68. linker by examining the symbol table after each pass of the build. To
  69. do this, use &lsquo;<samp>nm -ap</samp>&rsquo;, which dumps the symbol table, including
  70. debugging information, unsorted. For stab entries the columns are:
  71. <var>value</var>, <var>other</var>, <var>desc</var>, <var>type</var>, <var>string</var>. For
  72. assembler and linker symbols, the columns are: <var>value</var>, <var>type</var>,
  73. <var>string</var>.
  74. </p>
  75. <p>The low 5 bits of the stab type tell the linker how to relocate the
  76. value of the stab. Thus for stab types like <code>N_RSYM</code> and
  77. <code>N_LSYM</code>, where the value is an offset or a register number, the
  78. low 5 bits are <code>N_ABS</code>, which tells the linker not to relocate the
  79. value.
  80. </p>
  81. <p>Where the value of a stab contains an assembly language label,
  82. it is transformed by each build step. The assembler turns it into a
  83. relocatable address and the linker turns it into an absolute address.
  84. </p>
  85. <table class="menu" border="0" cellspacing="0">
  86. <tr><td align="left" valign="top">&bull; <a href="Transformations-On-Static-Variables.html#Transformations-On-Static-Variables" accesskey="1">Transformations On Static Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  87. </td></tr>
  88. <tr><td align="left" valign="top">&bull; <a href="Transformations-On-Global-Variables.html#Transformations-On-Global-Variables" accesskey="2">Transformations On Global Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  89. </td></tr>
  90. <tr><td align="left" valign="top">&bull; <a href="Stab-Section-Transformations.html#Stab-Section-Transformations" accesskey="3">Stab Section Transformations</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">For some object file formats,
  91. things are a bit different.
  92. </td></tr>
  93. </table>
  94. </body>
  95. </html>