Symbols.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the BFD library.
  4. Copyright (C) 1991-2017 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3 or
  7. any later version published by the Free Software Foundation; with the
  8. Invariant Sections being "GNU General Public License" and "Funding
  9. Free Software", the Front-Cover texts being (a) (see below), and with
  10. the Back-Cover Texts being (b) (see below). A copy of the license is
  11. included in the section entitled "GNU Free Documentation License".
  12. (a) The FSF's Front-Cover Text is:
  13. A GNU Manual
  14. (b) The FSF's Back-Cover Text is:
  15. You have freedom to copy and modify this GNU Manual, like GNU
  16. software. Copies published by the Free Software Foundation raise
  17. funds for GNU development. -->
  18. <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
  19. <head>
  20. <title>Untitled Document: Symbols</title>
  21. <meta name="description" content="Untitled Document: Symbols">
  22. <meta name="keywords" content="Untitled Document: Symbols">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  27. <link href="index.html#Top" rel="start" title="Top">
  28. <link href="BFD-Index.html#BFD-Index" rel="index" title="BFD Index">
  29. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  30. <link href="BFD-front-end.html#BFD-front-end" rel="up" title="BFD front end">
  31. <link href="Reading-Symbols.html#Reading-Symbols" rel="next" title="Reading Symbols">
  32. <link href="section-prototypes.html#section-prototypes" rel="prev" title="section prototypes">
  33. <style type="text/css">
  34. <!--
  35. a.summary-letter {text-decoration: none}
  36. blockquote.smallquotation {font-size: smaller}
  37. div.display {margin-left: 3.2em}
  38. div.example {margin-left: 3.2em}
  39. div.indentedblock {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  44. div.smalllisp {margin-left: 3.2em}
  45. kbd {font-style:oblique}
  46. pre.display {font-family: inherit}
  47. pre.format {font-family: inherit}
  48. pre.menu-comment {font-family: serif}
  49. pre.menu-preformatted {font-family: serif}
  50. pre.smalldisplay {font-family: inherit; font-size: smaller}
  51. pre.smallexample {font-size: smaller}
  52. pre.smallformat {font-family: inherit; font-size: smaller}
  53. pre.smalllisp {font-size: smaller}
  54. span.nocodebreak {white-space:nowrap}
  55. span.nolinebreak {white-space:nowrap}
  56. span.roman {font-family:serif; font-weight:normal}
  57. span.sansserif {font-family:sans-serif; font-weight:normal}
  58. ul.no-bullet {list-style: none}
  59. -->
  60. </style>
  61. </head>
  62. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  63. <a name="Symbols"></a>
  64. <div class="header">
  65. <p>
  66. Next: <a href="Archives.html#Archives" accesskey="n" rel="next">Archives</a>, Previous: <a href="Sections.html#Sections" accesskey="p" rel="prev">Sections</a>, Up: <a href="BFD-front-end.html#BFD-front-end" accesskey="u" rel="up">BFD front end</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="BFD-Index.html#BFD-Index" title="Index" rel="index">Index</a>]</p>
  67. </div>
  68. <hr>
  69. <a name="Symbols-1"></a>
  70. <h3 class="section">2.7 Symbols</h3>
  71. <p>BFD tries to maintain as much symbol information as it can when
  72. it moves information from file to file. BFD passes information
  73. to applications though the <code>asymbol</code> structure. When the
  74. application requests the symbol table, BFD reads the table in
  75. the native form and translates parts of it into the internal
  76. format. To maintain more than the information passed to
  77. applications, some targets keep some information &ldquo;behind the
  78. scenes&rdquo; in a structure only the particular back end knows
  79. about. For example, the coff back end keeps the original
  80. symbol table structure as well as the canonical structure when
  81. a BFD is read in. On output, the coff back end can reconstruct
  82. the output symbol table so that no information is lost, even
  83. information unique to coff which BFD doesn&rsquo;t know or
  84. understand. If a coff symbol table were read, but were written
  85. through an a.out back end, all the coff specific information
  86. would be lost. The symbol table of a BFD
  87. is not necessarily read in until a canonicalize request is
  88. made. Then the BFD back end fills in a table provided by the
  89. application with pointers to the canonical information. To
  90. output symbols, the application provides BFD with a table of
  91. pointers to pointers to <code>asymbol</code>s. This allows applications
  92. like the linker to output a symbol as it was read, since the &ldquo;behind
  93. the scenes&rdquo; information will be still available.
  94. </p><table class="menu" border="0" cellspacing="0">
  95. <tr><td align="left" valign="top">&bull; <a href="Reading-Symbols.html#Reading-Symbols" accesskey="1">Reading Symbols</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  96. </td></tr>
  97. <tr><td align="left" valign="top">&bull; <a href="Writing-Symbols.html#Writing-Symbols" accesskey="2">Writing Symbols</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  98. </td></tr>
  99. <tr><td align="left" valign="top">&bull; <a href="Mini-Symbols.html#Mini-Symbols" accesskey="3">Mini Symbols</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  100. </td></tr>
  101. <tr><td align="left" valign="top">&bull; <a href="typedef-asymbol.html#typedef-asymbol" accesskey="4">typedef asymbol</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  102. </td></tr>
  103. <tr><td align="left" valign="top">&bull; <a href="symbol-handling-functions.html#symbol-handling-functions" accesskey="5">symbol handling functions</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  104. </td></tr>
  105. </table>
  106. <hr>
  107. <div class="header">
  108. <p>
  109. Next: <a href="Archives.html#Archives" accesskey="n" rel="next">Archives</a>, Previous: <a href="Sections.html#Sections" accesskey="p" rel="prev">Sections</a>, Up: <a href="BFD-front-end.html#BFD-front-end" accesskey="u" rel="up">BFD front end</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="BFD-Index.html#BFD-Index" title="Index" rel="index">Index</a>]</p>
  110. </div>
  111. </body>
  112. </html>